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

void ssh_send_port_open(void *channel,char *hostname,int port,char *org)

{
  uchar uVar1;
  int iVar2;
  Packet *pPVar3;
  char *pcVar4;
  prompts_t *ppVar5;
  int *piVar6;
  int iVar7;
  handler_fn_t p_Var8;
  tree234 *ptVar9;
  Packet *pPVar10;
  ulong uVar11;
  size_t n;
  agent_pending_query *paVar12;
  uint uVar13;
  ssh_gss_liblist *psVar14;
  bufchain_granule *pbVar15;
  undefined4 uVar16;
  undefined4 *puVar17;
  undefined4 uVar18;
  X11Display *pXVar19;
  X11FakeAuth *pXVar20;
  Ssh_conflict ssh;
  Conf *pCVar21;
  ssh_channel *psVar22;
  int iVar23;
  int iVar24;
  char *pcVar25;
  cchandler_fn_t handler;
  ssh_gss_library *psVar26;
  int iVar27;
  ssh_channel *psVar28;
  Ssh_conflict ssh_00;
  int *piVar29;
  ulong *puVar30;
  void *pvVar31;
  bool bVar32;
  void **ppvVar33;
  bufchain *ssh_01;
  Packet *unaff_s5;
  undefined *puVar34;
  code *pcVar35;
  char *pcStack_ac;
  undefined4 uStack_a8;
  undefined1 auStack_a4 [4];
  int iStack_a0;
  int iStack_9c;
  uint uStack_98;
  Packet *pPStack_94;
  Packet *apPStack_90 [2];
  int iStack_88;
  ulong uStack_84;
  Ssh_conflict psStack_80;
  uchar *puStack_7c;
  char *pcStack_78;
  undefined *puStack_74;
  int iStack_70;
  uchar x [4];
  
  ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04;
                    /* WARNING: Load size is inaccurate */
  ssh_00 = *channel;
  iVar2 = *(int *)PTR___stack_chk_guard_000b2f04;
  logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port);
  if (ssh_00->version != 1) {
    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),
                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));
    pcVar4 = host_strduptrim(hostname);
    ssh_pkt_addstring(pPVar3,pcVar4);
                    /* WARNING: Subroutine does not return */
    safefree(pcVar4);
  }
  iVar24 = 1;
  pPVar3 = *(Packet **)((int)channel + 8);
  pcVar4 = (char *)0x1d;
  ssh = ssh_00;
  send_packet(ssh_00,0x1d);
  if (iVar2 == *(int *)ssh_01) {
    return;
  }
  puVar34 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  puVar30 = *(ulong **)(puVar34 + 0x73b10);
  piVar29 = (int *)ssh->do_ssh2_authconn_state;
  puStack_74 = (undefined *)ssh_01;
  uStack_84 = *puVar30;
  psStack_80 = ssh_00;
  puStack_7c = (uchar *)channel;
  pcStack_78 = hostname;
  iStack_70 = port;
  if (piVar29 != (int *)0x0) {
    iVar2 = *piVar29;
    if (iVar2 == 0x27b6) {
      if (pPVar3 == (Packet *)0x0) {
        *piVar29 = 0x27b6;
        goto LAB_0003fd3c;
      }
      if (pPVar3->type != 0x3c) {
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);
        iVar2 = piVar29[3];
        goto LAB_0003fb74;
      }
      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);
      piVar29[0x35] = (int)pPStack_94;
      piVar29[0x34] = uStack_98;
      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||
          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||
         (iVar2 = (**(code **)(puVar34 + 0x73af8))
                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0
         )) {
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);
        iVar2 = piVar29[3];
        goto LAB_0003fb74;
      }
      ssh_01 = (bufchain *)(piVar29 + 0x38);
      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);
      piVar29[0x39] = iVar2;
      if (iVar2 != 0) {
        if (iVar2 == 3) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);
          iVar2 = piVar29[3];
          goto LAB_0003fb74;
        }
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);
        iVar2 = piVar29[3];
        goto LAB_0003fb74;
      }
      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);
      piVar29[0x39] = iVar2;
      if (iVar2 != 0) goto LAB_00042b98;
      piVar29[0x34] = 0;
      piVar29[0x35] = 0;
      piVar29[0x36] = 0;
      piVar29[0x37] = 0;
      ssh_01 = (bufchain *)piVar29[0x30];
LAB_0004138c:
      iVar2 = piVar29[0x38];
      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);
      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);
      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)
      ;
      piVar29[0x39] = uVar13;
      if (uVar13 < 2) {
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);
        if (piVar29[0x36] != 0) {
          pPVar3 = ssh2_pkt_init(0x3d);
          piVar29[0x2e] = (int)pPVar3;
          iStack_88 = 0;
                    /* WARNING: Subroutine does not return */
          ssh_pkt_adddata(pPVar3,&iStack_88,4);
        }
        iVar2 = piVar29[0x39];
        if (iVar2 == 1) {
LAB_00042310:
          *piVar29 = 0x2807;
          goto LAB_0003fd3c;
        }
      }
      else {
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);
        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);
        if (iVar2 == 0) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);
                    /* WARNING: Subroutine does not return */
          safefree((void *)piVar29[0x33]);
        }
        iVar2 = piVar29[0x39];
      }
LAB_00041414:
      if (iVar2 == 0) {
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);
        pPVar3 = ssh2_pkt_init(0);
        piVar29[0x2e] = (int)pPVar3;
                    /* WARNING: Subroutine does not return */
        iStack_88 = 0;
        ssh_pkt_adddata(pPVar3,&iStack_88,4);
      }
LAB_00040d18:
      ssh_01 = (bufchain *)(piVar29 + 0x38);
      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);
      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);
      iVar2 = piVar29[3];
      goto LAB_0003fb74;
    }
    if (iVar2 < 0x27b7) {
      if (iVar2 == 0x2561) {
        if (pPVar3 != (Packet *)0x0) {
          *piVar29 = 0x2561;
          goto LAB_0003fd3c;
        }
        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);
        ssh->send_ok = 0;
        goto LAB_00040ca4;
      }
      if (0x2561 < iVar2) {
        if (iVar2 != 0x2696) {
          if (0x2696 < iVar2) {
            if (iVar2 != 0x26df) {
              if (iVar2 != 0x2703) goto LAB_0003fd38;
              if (pPVar3 != (Packet *)0x0) {
                *piVar29 = 0x2703;
                goto LAB_0003fd3c;
              }
              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);
              ssh->send_ok = 0;
              goto LAB_00040240;
            }
            if (pPVar3 == (Packet *)0x0) {
              *piVar29 = 0x26df;
              goto LAB_0003fd3c;
            }
            if (pPVar3->type == 0x3c) {
              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);
              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;
              ppvVar33 = &ssh->frontend;
              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);
              unaff_s5 = (Packet *)piVar29[0x19];
              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);
              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);
              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);
              goto LAB_00041ae8;
            }
            piVar29[3] = 1;
            piVar29[1] = 2;
            goto LAB_0003f824;
          }
          if (iVar2 == 0x25a0) {
            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;
            *piVar29 = 0x25a0;
            goto LAB_0003fd3c;
          }
          if (iVar2 != 0x2650) goto LAB_0003fd38;
          if (pPVar3 == (Packet *)0x0) {
            *piVar29 = 0x2650;
            goto LAB_0003fd3c;
          }
          if (pPVar3->type == 0x3c) {
            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {
              ppvVar33 = &ssh->frontend;
              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);
              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);
              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);
            }
            pPVar3 = ssh2_pkt_init(0x32);
            pcVar4 = ssh->username;
            piVar29[0x2e] = (int)pPVar3;
            ssh_pkt_addstring(pPVar3,pcVar4);
            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)
                             );
            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)
                             );
            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);
                    /* WARNING: Subroutine does not return */
            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);
          }
          piVar29[3] = 1;
          if (piVar29[0x1f] == 0) {
            iVar24 = piVar29[0x20];
            iVar2 = piVar29[3];
            piVar29[0x20] = iVar24 + 1;
            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;
            piVar29[9] = 1;
            goto LAB_0003fb74;
          }
          iVar2 = piVar29[3];
          piVar29[9] = 1;
          piVar29[8] = 1;
          goto LAB_0003fb74;
        }
        iVar2 = *(int *)(puVar34 + 0x72fb4);
        if (pPVar3 == (Packet *)0x0) {
          if (0 < iVar24) {
            *piVar29 = 0x2696;
            goto LAB_0003fd3c;
          }
          apPStack_90[0] = (Packet *)ssh->agent_response;
          piVar29[0x29] = ssh->agent_response_len;
                    /* WARNING: Subroutine does not return */
          piVar29[0x2d] = (int)apPStack_90[0];
          safefree((void *)piVar29[0x2c]);
        }
LAB_00040040:
        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));
        goto LAB_00040050;
      }
      if (iVar2 == 0x246f) {
        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;
        if (pPVar3->type != 6) goto LAB_000400a0;
        piVar29[2] = 1;
        goto LAB_0003fe10;
      }
      if (iVar2 < 0x2470) {
        iVar24 = *(int *)(puVar34 + 0x73504);
        if (iVar2 != 0) goto LAB_0003fd38;
        goto LAB_0003fd9c;
      }
      if (iVar2 == 0x247a) {
        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;
        if (pPVar3->type != 6) {
          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));
          goto LAB_00040050;
        }
        goto LAB_0003fe04;
      }
      if (iVar2 != 0x24d9) goto LAB_0003fd38;
      if (pPVar3 != (Packet *)0x0) {
        iVar2 = *(int *)(puVar34 + 0x72fb4);
        goto LAB_00040040;
      }
      if (0 < iVar24) goto LAB_00040ffc;
      apPStack_90[0] = (Packet *)ssh->agent_response;
      piVar29[0x1e] = ssh->agent_response_len;
      goto LAB_0003fbf0;
    }
    if (iVar2 == 0x2917) {
      if (pPVar3 == (Packet *)0x0) {
        *piVar29 = 0x2917;
        goto LAB_0003fd3c;
      }
      if (pPVar3->type != 0x3c) {
LAB_00040ef0:
        pvVar31 = (void *)piVar29[0x12];
        pcVar35 = *(code **)(puVar34 + 0x73a54);
        piVar29[3] = 1;
        n = (*pcVar35)(pvVar31);
        smemclr(pvVar31,n);
                    /* WARNING: Subroutine does not return */
        safefree((void *)piVar29[0x12]);
      }
      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);
LAB_0003f4b4:
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);
      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);
      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);
      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);
      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);
      ppVar5 = new_prompts(ssh->frontend);
      piVar29[0xf] = (int)ppVar5;
      ppVar5->to_server = 1;
                    /* WARNING: Subroutine does not return */
      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));
    }
    if (0x2917 < iVar2) {
      if (iVar2 == 0x2a03) {
        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;
        iVar2 = pPVar3->type;
        if (1 < iVar2 - 0x5bU) {
          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);
          goto LAB_00040078;
        }
        uVar11 = ssh_pkt_getuint32(pPVar3);
        psVar22 = ssh->mainchan;
        if (uVar11 != psVar22->localid) {
          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);
          goto LAB_00040050;
        }
        if (pPVar3->type != 0x5c) {
          pPVar10 = pPVar3;
          uVar11 = ssh_pkt_getuint32(pPVar3);
          psVar28 = ssh->mainchan;
          psVar22->remoteid = uVar11;
          psVar28->halfopen = 0;
          psVar28->type = 0;
          uVar11 = ssh_pkt_getuint32(pPVar10);
          psVar22 = ssh->mainchan;
          (psVar28->v).v2.remwindow = uVar11;
          uVar11 = ssh_pkt_getuint32(pPVar10);
          pvVar31 = ssh->frontend;
          pcVar35 = *(code **)(puVar34 + 0x7348c);
          (psVar22->v).v2.remmaxpkt = uVar11;
          (*pcVar35)(pvVar31);
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);
          goto LAB_0003ff14;
        }
        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);
        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))
                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);
        bomb_out(ssh,pcVar25);
LAB_00041054:
                    /* WARNING: Subroutine does not return */
        safefree(pcVar4);
      }
      if (0x2a03 < iVar2) {
        if (iVar2 != 0x2a90) {
          if (iVar2 != 0x2abd) goto LAB_0003fd38;
          if (pPVar3 != (Packet *)0x0) {
            iVar2 = pPVar3->type;
            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);
            goto LAB_00040078;
          }
          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;
          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);
          goto LAB_0003f7c4;
        }
        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;
        iVar2 = pPVar3->type;
        if (iVar2 == 99) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);
          goto LAB_0003ffec;
        }
        if (iVar2 != 100) {
          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);
          goto LAB_00040078;
        }
        if ((ssh->fallback_cmd == 0) &&
           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);
          ssh->fallback_cmd = 1;
          goto LAB_0004261c;
        }
        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));
        goto LAB_00040050;
      }
      if (iVar2 == 0x2956) {
        if (pPVar3 != (Packet *)0x0) {
          *piVar29 = 0x2956;
          goto LAB_0003fd3c;
        }
        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);
        ssh->send_ok = 0;
        while( true ) {
          if (iVar2 < 0) {
            ssh->send_ok = 1;
            *piVar29 = 0x2956;
            goto LAB_0003fd3c;
          }
          if (iVar2 == 0) break;
          piVar6 = *(int **)(piVar29[0xf] + 0x18);
          if (**(char **)(*piVar6 + 8) != '\0') {
            iVar2 = piVar29[0x12];
            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);
            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);
            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);
            iVar2 = (**(code **)(puVar34 + 0x7301c))
                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));
            piVar29[0x12] = iVar2;
            piVar6 = *(int **)(piVar29[0xf] + 0x18);
          }
          iVar2 = (**(code **)(puVar34 + 0x73b4c))
                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));
          if (iVar2 == 0) {
            pPVar3 = ssh2_pkt_init(0x32);
            pcVar4 = ssh->username;
            piVar29[0x2e] = (int)pPVar3;
            ssh_pkt_addstring(pPVar3,pcVar4);
            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)
                             );
            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)
                             );
            uStack_98 = CONCAT13(1,uStack_98._1_3_);
                    /* WARNING: Subroutine does not return */
            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);
          }
          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);
          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);
        }
        (**(code **)(puVar34 + 0x7353c))();
        iVar2 = piVar29[0x12];
        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);
        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);
        iVar24 = piVar29[0x12];
        pcVar35 = *(code **)(puVar34 + 0x72fdc);
        goto LAB_00040b08;
      }
      if (iVar2 != 0x2999) goto LAB_0003fd38;
      if (pPVar3 == (Packet *)0x0) {
        *piVar29 = 0x2999;
        goto LAB_0003fd3c;
      }
      if (pPVar3->type != 0x3c) goto LAB_00040ef0;
      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);
      goto LAB_0003f4b4;
    }
    if (iVar2 == 0x28a4) {
      if (pPVar3 != (Packet *)0x0) {
        *piVar29 = 0x28a4;
        goto LAB_0003fd3c;
      }
      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);
      ssh->send_ok = 0;
      goto LAB_00040af0;
    }
    if (iVar2 < 0x28a5) {
      if (iVar2 == 0x2807) {
        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;
        if (pPVar3->type != 0x3d) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);
          piVar29[0x39] = 4;
          goto LAB_00040d18;
        }
        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);
        iVar2 = piVar29[0x39];
        piVar29[0x35] = (int)pPStack_94;
        piVar29[0x34] = uStack_98;
        if (iVar2 == 1) {
          ssh_01 = (bufchain *)piVar29[0x30];
          goto LAB_0004138c;
        }
        goto LAB_00041414;
      }
      if (iVar2 != 0x284b) goto LAB_0003fd38;
      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;
      iVar2 = *(int *)(puVar34 + 0x7336c);
      if (pPVar3->type != 0x3c) {
        piVar29[3] = 1;
        piVar29[1] = 7;
        piVar29[0xc] = 1;
        goto LAB_0003f824;
      }
    }
    else {
      if (iVar2 != 0x28ca) {
        if (iVar2 != 0x28e8) goto LAB_0003fd38;
        if (pPVar3 != (Packet *)0x0) {
          *piVar29 = 0x28e8;
          goto LAB_0003fd3c;
        }
        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);
        ssh->send_ok = 0;
        if (iVar2 < 0) {
          ssh->send_ok = 1;
          *piVar29 = 0x28e8;
          goto LAB_0003fd3c;
        }
        iVar24 = piVar29[0xf];
        if (iVar2 == 0) goto FUN_00040b04;
                    /* WARNING: Subroutine does not return */
        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));
      }
      if (pPVar3 == (Packet *)0x0) {
        *piVar29 = 0x28ca;
        goto LAB_0003fd3c;
      }
      if (pPVar3->type != 0x3c) {
        piVar29[3] = 1;
        goto LAB_0003f824;
      }
      iVar2 = *(int *)(puVar34 + 0x7336c);
    }
    pcVar35 = (code *)(iVar2 + 0x7704);
    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);
    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);
    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);
    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);
    piVar29[0xf] = (int)puVar17;
    *puVar17 = 1;
    uVar11 = ssh_pkt_getuint32(pPVar3);
    piVar29[0x10] = uVar11;
    if (0 < (int)uVar11) {
      iVar7 = *(int *)(puVar34 + 0x72fa4);
      iVar24 = 0;
      unaff_s5 = (Packet *)apPStack_90;
      iVar2 = *(int *)(puVar34 + 0x72fb4);
      do {
        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);
        iVar27 = pPVar3->savedpos;
        if (pPVar3->length - iVar27 < 1) {
          bVar32 = false;
        }
        else {
          uVar1 = pPVar3->body[iVar27];
          pPVar3->savedpos = iVar27 + 1;
          bVar32 = uVar1 != '\0';
        }
        if (apPStack_90[0] == (Packet *)0x0) {
          apPStack_90[0] = (Packet *)&DAT_00000020;
          pPStack_94 = (Packet *)(iVar7 + 0x2280);
        }
        iVar24 = iVar24 + 1;
        iVar27 = piVar29[0xf];
        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);
        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);
      } while (iVar24 < piVar29[0x10]);
    }
    ssh_01 = (bufchain *)piVar29[0xf];
    if (iStack_a0 == 0) {
      pbVar15 = (bufchain_granule *)
                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);
      iVar2 = piVar29[0xf];
      ssh_01->tail = pbVar15;
      *(undefined4 *)(iVar2 + 8) = 0;
    }
    else {
      pbVar15 = (bufchain_granule *)
                (**(code **)(puVar34 + 0x73010))
                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);
      iVar2 = piVar29[0xf];
      ssh_01->tail = pbVar15;
      *(undefined4 *)(iVar2 + 8) = 1;
    }
    if (piVar29[0x10] == 0 && iStack_a0 == 0) {
      iVar24 = *(int *)(puVar34 + 0x72fb4);
      if (iStack_9c != 0) {
LAB_00042638:
        iVar24 = iVar24 + 0x71dc;
        goto LAB_000422b4;
      }
      *(undefined4 *)(iVar2 + 0x10) = 0;
    }
    else {
      iVar24 = *(int *)(puVar34 + 0x72fb4);
      if (iStack_9c != 0) goto LAB_00042638;
      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;
LAB_000422b4:
      uVar18 = (**(code **)(puVar34 + 0x73010))
                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);
      *(undefined4 *)(iVar2 + 0xc) = uVar18;
      iVar2 = piVar29[0xf];
      *(undefined4 *)(iVar2 + 0x10) = 1;
    }
    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);
LAB_00040af0:
    if (iVar2 < 0) {
      ssh->send_ok = 1;
      *piVar29 = 0x28a4;
      goto LAB_0003fd3c;
    }
    if (iVar2 != 0) {
      pPVar3 = ssh2_pkt_init(0x3d);
                    /* WARNING: Subroutine does not return */
      piVar29[0x2e] = (int)pPVar3;
      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);
    }
    iVar24 = piVar29[0xf];
    goto FUN_00040b04;
  }
  piVar29 = (int *)safemalloc(1,0xe8);
  ssh->do_ssh2_authconn_state = piVar29;
  *piVar29 = 0;
  iVar24 = *(int *)(puVar34 + 0x73504);
  pPVar3 = (Packet *)port;
LAB_0003fd9c:
  iVar2 = ssh->bare_connection;
  p_Var8 = (handler_fn_t)(iVar24 + 0xae0);
  ssh->packet_dispatch[6] = p_Var8;
  ssh->packet_dispatch[0x32] = p_Var8;
  ssh->packet_dispatch[0x33] = p_Var8;
  ssh->packet_dispatch[0x34] = p_Var8;
  ssh->packet_dispatch[0x35] = p_Var8;
  ssh->packet_dispatch[0x3c] = p_Var8;
  ssh->packet_dispatch[0x3d] = p_Var8;
  ssh->packet_dispatch[0x50] = p_Var8;
  ssh->packet_dispatch[0x51] = p_Var8;
  ssh->packet_dispatch[0x52] = p_Var8;
  ssh->packet_dispatch[0x5a] = p_Var8;
  ssh->packet_dispatch[0x5b] = p_Var8;
  ssh->packet_dispatch[0x5c] = p_Var8;
  ssh->packet_dispatch[0x5d] = p_Var8;
  ssh->packet_dispatch[0x5e] = p_Var8;
  ssh->packet_dispatch[0x5f] = p_Var8;
  ssh->packet_dispatch[0x60] = p_Var8;
  ssh->packet_dispatch[0x61] = p_Var8;
  piVar29[2] = 0;
  piVar29[0xe] = 0;
  piVar29[0xd] = 0;
  piVar29[0x1c] = 0;
  piVar29[0xb] = 0;
  if (iVar2 == 0) {
    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);
    if (iVar2 == 0) {
      pPVar10 = ssh2_pkt_init(5);
      piVar29[0x2e] = (int)pPVar10;
      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));
      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);
LAB_00042034:
      *piVar29 = 0x246f;
      goto LAB_0003fd3c;
    }
LAB_000400a0:
    if (piVar29[2] == 0) {
      pPVar10 = ssh2_pkt_init(5);
      piVar29[0x2e] = (int)pPVar10;
      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);
LAB_000400f8:
      *piVar29 = 0x247a;
      goto LAB_0003fd3c;
    }
  }
  else {
LAB_0003fe04:
    piVar29[0xd] = 1;
  }
LAB_0003fe10:
  bufchain_init(&ssh->banner);
  iVar2 = piVar29[0xd];
  ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890);
  piVar29[0x14] = 0;
  if (iVar2 != 0) {
    piVar29[0x13] = 0;
    goto LAB_0003fe38;
  }
  iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);
  pcVar35 = *(code **)(puVar34 + 0x73554);
  piVar29[0x2f] = iVar2;
  iVar2 = (*pcVar35)(iVar2);
  if (iVar2 == 0) {
    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);
    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);
    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);
    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);
    if (iVar2 == 3) {
      iVar2 = (**(code **)(puVar34 + 0x7356c))
                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);
      piVar29[0x14] = iVar2;
      if (iVar2 == 0) goto LAB_000424c4;
      piVar29[0x16] = 1;
LAB_0004292c:
      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);
      piVar29[0x17] = iVar2;
    }
    else if (iVar2 - 9U < 2) {
      iVar2 = (**(code **)(puVar34 + 0x7356c))
                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);
      piVar29[0x14] = iVar2;
      if (iVar2 != 0) {
        iVar2 = *(int *)(puVar34 + 0x72fb4);
        piVar29[0x16] = 0;
        logeventf(ssh,(char *)(iVar2 + 0x582c));
        goto LAB_0004292c;
      }
LAB_000424c4:
      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);
      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);
      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))
                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);
      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);
      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);
      (**(code **)(puVar34 + 0x72fdc))(pcVar4);
    }
    else {
      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);
      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);
      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);
      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);
      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))
                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);
      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);
      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);
      (**(code **)(puVar34 + 0x72fdc))(pcVar4);
      piVar29[0x14] = 0;
    }
  }
  pCVar21 = ssh->conf;
  pcVar35 = *(code **)(puVar34 + 0x73040);
  piVar29[0x21] = 0;
  piVar29[0x1c] = 0;
  piVar29[0x1f] = 0;
  iVar2 = (*pcVar35)(pCVar21,0x1c);
  if ((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)) goto LAB_0003fc30;
  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c);
  piVar29[0x1a] = 1;
  *(undefined1 *)(piVar29 + 0x1b) = 0xb;
  paVar12 = (agent_pending_query *)
            (**(code **)(puVar34 + 0x73030))
                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,
                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh);
  ssh->auth_agent_query = paVar12;
  if (paVar12 != (agent_pending_query *)0x0) {
LAB_00040ffc:
    *piVar29 = 0x24d9;
    goto LAB_0003fd3c;
  }
LAB_0003fbf0:
  pPVar3 = apPStack_90[0];
  piVar29[0x1c] = (int)apPStack_90[0];
  if (apPStack_90[0] == (Packet *)0x0) {
LAB_0003fc18:
    iVar2 = *(int *)(puVar34 + 0x72fb4);
  }
  else {
    iVar2 = *(int *)(puVar34 + 0x72fb4);
    if (4 < piVar29[0x1e]) {
      if (*(char *)&apPStack_90[0]->forcepad == '\f') {
        iVar2 = (**(code **)(puVar34 + 0x73100))
                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));
        piVar29[0x21] = iVar2;
        if (iVar2 < 0) {
          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);
          piVar29[0x21] = 0;
        }
        else {
          pPVar3 = (Packet *)((int)&pPVar3->type + 1);
          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);
          if (iVar2 == 0) {
LAB_00042c08:
            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);
            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);
            if (piVar29[0x14] != 0) {
              unaff_s5 = (Packet *)0x0;
              if (0 < piVar29[0x21]) {
                do {
                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);
                  piVar29[0x25] = iVar2;
                  if ((iVar2 == piVar29[0x15]) &&
                     (iVar24 = (**(code **)(puVar34 + 0x73af8))
                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {
                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);
                    piVar29[0x20] = (int)unaff_s5;
                    piVar29[0x1f] = (int)pPVar3;
                    goto LAB_0003fc30;
                  }
                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);
                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);
                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);
                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);
                } while ((int)unaff_s5 < piVar29[0x21]);
              }
              if (piVar29[0x1f] == 0) {
                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)
                ;
                piVar29[0x21] = 0;
              }
            }
          }
          else {
            iVar2 = *(int *)(puVar34 + 0x72fb4);
            if (3 < (int)ssh_01) {
              unaff_s5 = (Packet *)0x0;
              pPVar10 = pPVar3;
              do {
                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);
                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);
                if (ssh_01 < piVar6) {
LAB_00042a68:
                  iVar2 = *(int *)(puVar34 + 0x72fb4);
                  break;
                }
                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);
                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));
                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);
                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;
                iVar2 = piVar29[0x21];
                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);
                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);
                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);
                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;
                iVar2 = *(int *)(puVar34 + 0x72fb4);
              } while (3 < (int)ssh_01);
            }
            logeventf(ssh,(char *)(iVar2 + 0x4da8));
            piVar29[0x21] = 0;
          }
        }
        goto LAB_0003fc30;
      }
      goto LAB_0003fc18;
    }
  }
  (**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34);
LAB_0003fc30:
  piVar29[0x13] = 0;
  if (piVar29[0xd] != 0) goto LAB_0003fe38;
  pCVar21 = ssh->conf;
LAB_0003fc40:
  pcVar4 = get_remote_username(pCVar21);
  ssh->username = pcVar4;
  if (pcVar4 == (char *)0x0) {
    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);
    piVar29[0xf] = (int)puVar17;
    *puVar17 = 1;
    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);
    ssh_01 = (bufchain *)piVar29[0xf];
    puVar17[1] = uVar18;
    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);
    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);
    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);
LAB_00040ca4:
    if (iVar2 < 0) {
      ssh->send_ok = 1;
      *piVar29 = 0x2561;
      goto LAB_0003fd3c;
    }
    if (iVar2 == 0) {
      (**(code **)(puVar34 + 0x7353c))();
      iVar2 = 0;
      pcVar25 = (char *)0x0;
      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);
      goto LAB_00040b30;
    }
    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))
                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));
    iVar2 = piVar29[0xf];
    pcVar35 = *(code **)(puVar34 + 0x7353c);
    ssh->username = pcVar4;
    (*pcVar35)(iVar2);
  }
  else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {
    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);
    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);
    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);
    (**(code **)(puVar34 + 0x72fdc))(pcVar4);
  }
LAB_0003fc6c:
  piVar29[0x13] = 1;
  ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;
  pPVar10 = ssh2_pkt_init(0x32);
  pcVar4 = ssh->username;
  piVar29[0x2e] = (int)pPVar10;
  ssh_pkt_addstring(pPVar10,pcVar4);
  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4));
  ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);
  piVar29[1] = 0;
  piVar29[3] = 0;
  piVar29[0xd] = 0;
  piVar29[8] = 0;
  piVar29[0xc] = 0;
  piVar29[9] = 0;
  if (piVar29[0x1c] == 0) goto LAB_0003fb80;
  if (piVar29[0x1f] == 0) {
    piVar29[0x20] = 0;
    piVar29[0x1d] = piVar29[0x1c] + 9;
    *piVar29 = 0x25a0;
  }
  else {
    piVar29[0x1d] = piVar29[0x1f];
    *piVar29 = 0x25a0;
  }
LAB_0003fd3c:
  if (uStack_84 == *puVar30) {
    return;
  }
  (**(code **)(puVar34 + 0x73ae4))();
LAB_00042b98:
  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);
  (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);
  iVar2 = piVar29[3];
LAB_0003fb74:
  pPStack_94 = (Packet *)0x0;
  apPStack_90[0] = (Packet *)0x0;
  if (iVar2 == 0) goto LAB_0003fb80;
LAB_0003f824:
  apPStack_90[0] = (Packet *)0x0;
  pPStack_94 = (Packet *)0x0;
LAB_0003f828:
  ssh_01 = &ssh->banner;
  iVar2 = bufchain_size(ssh_01);
  if (iVar2 != 0) {
    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);
    if ((unaff_s5->length & 5U) != 0) {
      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);
      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);
      if ((unaff_s5->length & 2U) == 0) {
        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);
      }
      else {
        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);
        if (0 < iVar2) {
          pcVar25 = pcVar4;
          do {
            uVar13 = (uint)*pcVar25;
            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {
              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);
            }
            pcVar25 = pcVar25 + 1;
          } while (pcVar25 != pcVar4 + iVar2);
        }
      }
                    /* WARNING: Subroutine does not return */
      safefree(pcVar4);
    }
  }
  bufchain_clear(ssh_01);
  iVar2 = pPVar3->type;
  if (iVar2 == 0x34) {
    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);
    piVar29[0xe] = 1;
    piVar29[0xd] = 1;
LAB_0003fe38:
    iVar2 = piVar29[0x14];
    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;
    if (iVar2 != 0) {
                    /* WARNING: Subroutine does not return */
      safefree((void *)piVar29[0x18]);
    }
    if ((void *)piVar29[0x1c] != (void *)0x0) {
                    /* WARNING: Subroutine does not return */
      safefree((void *)piVar29[0x1c]);
    }
    iVar2 = *(int *)(puVar34 + 0x7336c);
    if (piVar29[0xe] == 0) {
LAB_0003fecc:
      pcVar35 = *(code **)(puVar34 + 0x730c8);
    }
    else {
      pcVar35 = *(code **)(puVar34 + 0x730c8);
      if (ssh->bare_connection == 0) {
        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);
        iVar2 = *(int *)(puVar34 + 0x7336c);
        goto LAB_0003fecc;
      }
    }
    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);
    ssh->channels = ptVar9;
    pCVar21 = ssh->conf;
    pcVar35 = *(code **)(puVar34 + 0x73040);
    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);
    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);
    iVar2 = (*pcVar35)(pCVar21,0x2d);
    if (iVar2 == 0) {
      psVar22 = (ssh_channel *)safemalloc(1,0x5c);
      ssh->mainchan = psVar22;
      psVar22->ssh = ssh;
      ssh_channel_init(psVar22);
      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);
      if (*pcVar4 == '\0') {
        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,
                                     (char *)&(ssh->mainchan->v).v2.locwindow,
                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));
        pvVar31 = ssh->frontend;
        piVar29[0x2e] = (int)pPVar10;
        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);
        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);
        ssh->ncmode = 0;
        *piVar29 = 0x2a03;
      }
      else {
        psVar22 = ssh->mainchan;
        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);
        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);
        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,
                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));
        ssh->ncmode = 1;
LAB_00040660:
        *piVar29 = 0x2a03;
      }
    }
    else {
      ssh->mainchan = (ssh_channel *)0x0;
LAB_0003ff14:
      iVar24 = *(int *)(puVar34 + 0x73504);
      iVar2 = *(int *)(puVar34 + 0x73504);
      pvVar31 = ssh->connshare;
      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);
      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);
      iVar24 = *(int *)(puVar34 + 0x73504);
      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);
      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);
      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);
      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);
      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);
      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);
      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);
      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);
      if (pvVar31 != (void *)0x0) {
        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);
      }
      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {
        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),
                                    (cchandler_fn_t)0x0,(void *)0x0);
        piVar29[0x2e] = (int)pPVar10;
        ssh2_pkt_send(ssh,pPVar10);
      }
      ssh_setup_portfwd(ssh,ssh->conf);
      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {
        ssh->echoing = 1;
        ssh->editing = 1;
LAB_0003ffec:
        ssh->state = ADDRTYPE_NAME;
        if (ssh->size_needed != 0) {
          ssh_size(ssh,ssh->term_width,ssh->term_height);
        }
        if (ssh->eof_needed != 0) {
          ssh_special(ssh,TS_EOF);
        }
        if (ssh->ldisc != (void *)0x0) {
          ldisc_echoedit_update(ssh->ldisc);
        }
        if (ssh->mainchan == (ssh_channel *)0x0) {
LAB_0003f7c4:
          *piVar29 = 0x2abd;
        }
        else {
          ssh->send_ok = 1;
          *piVar29 = 0x2abd;
        }
      }
      else {
        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);
        if (iVar2 != 0) {
          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);
          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);
          ssh->x11disp = pXVar19;
          if (pXVar19 == (X11Display *)0x0) {
            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);
          }
          else {
            ptVar9 = ssh->x11authtree;
            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);
            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);
            psVar22 = ssh->mainchan;
            ssh->x11auth = pXVar20;
            pXVar20->disp = ssh->x11disp;
            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);
          }
        }
        iVar2 = ssh_agent_forwarding_permitted(ssh);
        if (iVar2 != 0) {
          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);
        }
        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);
        if (iVar2 == 0) {
          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);
        }
        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);
        if (ssh->fallback_cmd == 0) {
          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);
          uVar18 = 0x14;
        }
        else {
LAB_0004261c:
          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);
          uVar18 = 0x15;
        }
        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);
        if (ssh_01 == (bufchain *)0x0) {
          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);
          if (*pcVar4 != '\0') {
            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);
            goto LAB_00041828;
          }
          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),
                                      handler,(void *)0x0);
          piVar29[0x2e] = (int)pPVar10;
        }
        else {
          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);
          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);
LAB_00041828:
          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);
          piVar29[0x2e] = (int)pPVar10;
          ssh_pkt_addstring(pPVar10,pcVar4);
          pPVar10 = (Packet *)piVar29[0x2e];
        }
        ssh2_pkt_send(ssh,pPVar10);
LAB_00041870:
        *piVar29 = 0x2a90;
      }
    }
    goto LAB_0003fd3c;
  }
  if (iVar2 == 0x33) {
    piVar29[3] = 0;
    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);
    iVar2 = pPVar3->savedpos;
    if ((0 < pPVar3->length - iVar2) &&
       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {
      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);
LAB_000411b0:
      iVar7 = *(int *)(puVar34 + 0x72fb4);
LAB_000411b4:
      pPVar10 = apPStack_90[0];
      pPVar3 = pPStack_94;
      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);
      piVar29[5] = iVar2;
      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,
                                 (int)pPVar10);
      pCVar21 = ssh->conf;
      pcVar35 = *(code **)(puVar34 + 0x73040);
      piVar29[6] = iVar2;
      uVar13 = (*pcVar35)(pCVar21,0x26);
      if (uVar13 != 0) {
        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94
                                   ,(int)apPStack_90[0]);
        uVar13 = (uint)(iVar2 != 0);
      }
      pcVar35 = *(code **)(puVar34 + 0x73040);
      pCVar21 = ssh->conf;
      piVar29[7] = uVar13;
      iVar2 = (*pcVar35)(pCVar21,0x27);
      if ((iVar2 == 0) ||
         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),
                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {
        piVar29[10] = 0;
      }
      else {
        psVar14 = ssh->gsslibs;
        if (psVar14 == (ssh_gss_liblist *)0x0) {
          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);
          ssh->gsslibs = psVar14;
        }
        piVar29[10] = (uint)(0 < psVar14->nlibraries);
      }
      goto LAB_0003f88c;
    }
    iVar2 = piVar29[1];
    iVar24 = *(int *)(puVar34 + 0x734a0);
    if (iVar2 == 0) goto LAB_000411b0;
    if (iVar2 - 2U < 2) {
      if (iVar2 == 2) {
        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);
      }
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);
      goto LAB_000411b0;
    }
    if (iVar2 == 1) {
      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);
      goto LAB_000411b0;
    }
    if (iVar2 == 7) {
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);
      goto LAB_000411b0;
    }
    iVar7 = *(int *)(puVar34 + 0x72fb4);
    if (iVar2 == 5) goto LAB_000411b4;
    if (iVar2 == 6) {
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);
      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);
      goto LAB_000411b0;
    }
    if (iVar2 == 4) {
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);
      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);
      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);
      if (iVar2 == 0) goto LAB_000411b0;
      pCVar21 = ssh->conf;
      piVar29[0xd] = 0;
      if (piVar29[0x13] == 0) goto LAB_0003fc40;
      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);
      if (iVar2 == 0) goto LAB_0003fc6c;
      pCVar21 = ssh->conf;
      goto LAB_0003fc40;
    }
    (**(code **)(puVar34 + 0x73938))
              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,
               *(int *)(puVar34 + 0x72fb4) + 0x7e08);
    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;
  }
  else {
    if (piVar29[1] != 5) {
      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);
LAB_00040078:
      pcVar4 = dupprintf(pcVar4,iVar2);
LAB_00040050:
      bomb_out(ssh,pcVar4);
LAB_0003fd38:
      *piVar29 = 0;
      goto LAB_0003fd3c;
    }
    piVar29[3] = 0;
LAB_0003f88c:
    iVar2 = piVar29[5];
    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;
    if (iVar2 != 0) {
      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {
        iVar2 = *(int *)(puVar34 + 0x72fb4);
        iVar24 = piVar29[0x20];
        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;
        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);
        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);
        iVar7 = piVar29[0x1d];
        piVar29[0x25] = iVar2;
        iVar24 = iVar7 + 4;
        piVar29[0x22] = iVar24;
        pcVar35 = *(code **)(puVar34 + 0x73100);
        piVar29[0x1d] = iVar24 + iVar2;
        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));
        piVar29[0x26] = iVar2;
        piVar29[0x23] = piVar29[0x22] + 4;
        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);
        piVar29[0x27] = iVar2;
        piVar29[0x24] = piVar29[0x1d] + 4;
        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;
        pPVar3 = ssh2_pkt_init(0x32);
        pcVar4 = ssh->username;
        piVar29[0x2e] = (int)pPVar3;
        ssh_pkt_addstring(pPVar3,pcVar4);
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));
        uStack_98 = uStack_98 & 0xffffff;
                    /* WARNING: Subroutine does not return */
        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);
      }
      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {
        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;
        piVar29[8] = 1;
        pPVar3 = ssh2_pkt_init(0x32);
        pcVar4 = ssh->username;
        piVar29[0x2e] = (int)pPVar3;
        ssh_pkt_addstring(pPVar3,pcVar4);
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));
        uStack_98 = uStack_98 & 0xffffff;
                    /* WARNING: Subroutine does not return */
        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);
      }
    }
    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {
      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {
        if (piVar29[6] != 0) {
          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;
          ppVar5 = new_prompts(ssh->frontend);
          piVar29[0xf] = (int)ppVar5;
          ppVar5->to_server = 1;
                    /* WARNING: Subroutine does not return */
          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));
        }
        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)
        ;
        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);
        goto LAB_00041054;
      }
      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);
      piVar29[1] = 6;
      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;
      pPVar10 = ssh2_pkt_init(0x32);
      pcVar4 = ssh->username;
      piVar29[0x2e] = (int)pPVar10;
      ssh_pkt_addstring(pPVar10,pcVar4);
      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));
      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));
      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));
      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);
      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);
LAB_0004072c:
      *piVar29 = 0x284b;
      goto LAB_0003fd3c;
    }
    piVar29[0xb] = 1;
    iVar24 = 0;
    piVar29[3] = 1;
    piVar29[1] = 5;
    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;
    iVar2 = **(int **)(puVar34 + 0x73414);
    piVar29[0x30] = 0;
    if (0 < iVar2) {
      pcVar35 = *(code **)(puVar34 + 0x733d0);
      do {
        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);
        iVar27 = ssh->gsslibs->nlibraries;
        if (0 < iVar27) {
          psVar26 = ssh->gsslibs->libraries;
          if (iVar7 == psVar26->id) {
LAB_0004106c:
            piVar29[0x30] = (int)psVar26;
            goto LAB_0003f984;
          }
          iVar23 = 0;
          while( true ) {
            psVar26 = psVar26 + 1;
            iVar23 = iVar23 + 1;
            if (iVar23 == iVar27) break;
            if (psVar26->id == iVar7) goto LAB_0004106c;
          }
        }
        iVar24 = iVar24 + 1;
        pcVar35 = *(code **)(puVar34 + 0x733d0);
      } while (iVar2 != iVar24);
      psVar26 = (ssh_gss_library *)piVar29[0x30];
LAB_0003f984:
      if (psVar26 != (ssh_gss_library *)0x0) {
        if (psVar26->gsslogmsg != (char *)0x0) {
          (**(code **)(puVar34 + 0x73038))(ssh->frontend);
        }
        pPVar3 = ssh2_pkt_init(0x32);
        pcVar4 = ssh->username;
        piVar29[0x2e] = (int)pPVar3;
        ssh_pkt_addstring(pPVar3,pcVar4);
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));
        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);
        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);
                    /* WARNING: Subroutine does not return */
        iStack_88 = 1;
        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);
      }
    }
    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;
    (**(code **)(puVar34 + 0x73938))
              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,
               *(int *)(puVar34 + 0x72fb4) + 0x7e08);
    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);
LAB_00041ae8:
    if (piVar29[0x17] != 0) {
      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);
      piVar29[0xf] = (int)puVar17;
      *puVar17 = 0;
      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);
      iVar2 = piVar29[0x19];
      ssh_01 = (bufchain *)piVar29[0xf];
      puVar17[1] = uVar18;
      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);
      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);
      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);
LAB_00040240:
      if (iVar2 < 0) {
        ssh->send_ok = 1;
        *piVar29 = 0x2703;
      }
      else {
        iVar24 = piVar29[0xf];
        if (iVar2 != 0) {
                    /* WARNING: Subroutine does not return */
          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));
        }
FUN_00040b04:
        pcVar35 = *(code **)(puVar34 + 0x7353c);
LAB_00040b08:
        (*pcVar35)(iVar24);
        iVar2 = 0xd;
        pcVar4 = (char *)0x0;
        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);
LAB_00040b30:
        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);
        *piVar29 = 0;
      }
      goto LAB_0003fd3c;
    }
    unaff_s5 = (Packet *)apPStack_90;
    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);
    piVar29[0x2f] = iVar2;
    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);
    if (iVar24 != *(int *)(puVar34 + 0x73550)) {
LAB_000402f8:
      if (iVar24 != 0) {
        pPVar3 = ssh2_pkt_init(0x32);
        pcVar4 = ssh->username;
        piVar29[0x2e] = (int)pPVar3;
        ssh_pkt_addstring(pPVar3,pcVar4);
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));
        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));
        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);
                    /* WARNING: Subroutine does not return */
        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);
      }
    }
  }
  ssh_01 = (bufchain *)&ssh->frontend;
  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c);
  unaff_s5 = apPStack_90[0];
  iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0]);
  c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2);
  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3);
  iVar2 = piVar29[3];
  goto LAB_0003fb74;
LAB_0003fb80:
  *piVar29 = 0x25a0;
  goto LAB_0003fd3c;
}



void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)

{
  char cVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  code ****ppppcVar4;
  int *piVar5;
  int iVar6;
  undefined1 *puVar7;
  uint uVar8;
  char *pcVar9;
  code *****pppppcVar10;
  int iVar11;
  undefined1 *puVar12;
  int iVar13;
  undefined4 uVar14;
  int iVar15;
  undefined4 uVar16;
  code *****pppppcVar17;
  int iVar18;
  int iVar19;
  int *piVar20;
  int *piVar21;
  bool bVar22;
  code *****pppppcVar23;
  code *****pppppcVar24;
  code *****unaff_s5;
  char *pcVar25;
  undefined *puVar26;
  code *pcVar27;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  undefined1 auStack_a4 [4];
  int iStack_a0;
  int iStack_9c;
  code ***pppcStack_98;
  code ****ppppcStack_94;
  code ****ppppcStack_90;
  undefined4 uStack_8c;
  code ***pppcStack_88;
  int iStack_84;
  int iStack_80;
  int *piStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  code ****ppppcStack_70;
  code ****ppppcStack_6c;
  undefined4 local_28;
  int local_24;
  
  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;
  iVar19 = *param_1;
  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;
  pppppcVar24 = param_3;
  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);
  iVar11 = iVar19;
  if (*(int *)(iVar19 + 0x198) == 1) {
    iVar15 = 1;
    pppppcVar24 = (code *****)param_1[2];
    FUN_000494d4(iVar19,0x1d);
  }
  else {
    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,
                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);
    unaff_s5 = (code *****)host_strduptrim(param_2);
    param_2 = PTR_LAB_000b2894 + -0x4dc4;
    FUN_0003b23c(param_1,unaff_s5);
    safefree(unaff_s5);
    FUN_0003b1cc(param_1,param_3);
    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);
    iVar15 = 4;
    local_28 = 0;
    FUN_0003aef4(param_1,&local_28);
    FUN_000463f8(iVar19,param_1);
  }
  if ((code ****)local_24 == *pppppcVar23) {
    return;
  }
  puVar26 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  piVar21 = *(int **)(puVar26 + 0x73b10);
  piVar20 = *(int **)(iVar11 + 0x1d0);
  puStack_74 = (undefined *)pppppcVar23;
  iStack_84 = *piVar21;
  iStack_80 = iVar19;
  piStack_7c = param_1;
  puStack_78 = param_2;
  ppppcStack_70 = (code ****)param_3;
  ppppcStack_6c = (code ****)unaff_s5;
  if (piVar20 != (int *)0x0) {
    iVar19 = *piVar20;
    if (iVar19 == 0x27b6) {
      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;
      if (pppppcVar24[2] != (code ****)0x3c) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);
      piVar20[0x35] = (int)ppppcStack_94;
      piVar20[0x34] = (int)pppcStack_98;
      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||
           (*(code *)ppppcStack_94 != (code)0x6)) ||
          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||
         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),
         iVar19 != 0)) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      pppppcVar23 = (code *****)(piVar20 + 0x38);
      iVar19 = (**(code **)(piVar20[0x30] + 0xc))
                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);
      piVar20[0x39] = iVar19;
      if (iVar19 != 0) {
        if (iVar19 == 3) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);
          iVar19 = piVar20[3];
          goto LAB_0003fb74;
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);
      piVar20[0x39] = iVar19;
      if (iVar19 != 0) goto LAB_00042b98;
      piVar20[0x34] = 0;
      piVar20[0x35] = 0;
      piVar20[0x36] = 0;
      piVar20[0x37] = 0;
      pppppcVar23 = (code *****)piVar20[0x30];
LAB_0004138c:
      iVar19 = piVar20[0x38];
      unaff_s5 = (code *****)pppppcVar23[5];
      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);
      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,
                                  piVar20 + 0x36);
      piVar20[0x39] = uVar8;
      if (uVar8 < 2) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);
        if (piVar20[0x36] != 0) {
          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);
          piVar20[0x2e] = (int)pppppcVar23;
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);
          iVar6 = piVar20[0x36];
          iVar15 = piVar20[0x37];
          iVar19 = piVar20[0x2e];
          pppppcVar23[6] = *pppppcVar23;
          FUN_0003b124(iVar19,iVar15,iVar6);
          FUN_000463f8(iVar11,piVar20[0x2e]);
          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);
        }
        iVar19 = piVar20[0x39];
        if (iVar19 == 1) {
LAB_00042310:
          *piVar20 = 0x2807;
          goto LAB_0003fd3c;
        }
      }
      else {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);
        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);
        if (iVar19 == 0) {
          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);
          safefree(piVar20[0x33]);
        }
        iVar19 = piVar20[0x39];
      }
LAB_00041414:
      if (iVar19 == 0) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);
        iVar15 = *(int *)(puVar26 + 0x734a0);
        piVar5 = (int *)FUN_0003b04c(0);
        iVar6 = *piVar5;
        piVar20[0x2e] = (int)piVar5;
        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
        pppcStack_88 = (code ***)0x0;
        FUN_0003aef4(piVar5,&pppcStack_88,4);
        uVar2 = *(undefined4 *)(iVar11 + 0xe4);
        iVar19 = piVar20[0x2e];
        iVar18 = *(int *)(puVar26 + 0x734a0);
        piVar5[6] = *piVar5;
        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);
        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);
        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);
        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);
        iVar19 = *(int *)piVar20[0x2e];
        pcVar27 = *(code **)(piVar20[0x30] + 0x24);
        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;
        piVar20[0x32] = iVar19 - iVar6;
        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);
        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);
        piVar20[0x2e] = (int)puVar3;
        pppcStack_88 = (code ***)0x0;
        FUN_0003aef4(puVar3,&pppcStack_88,4);
        iVar19 = piVar20[0x2e];
        puVar3[6] = *puVar3;
        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);
        iVar19 = piVar20[0x30];
        piVar20[3] = 0;
        goto LAB_00040d20;
      }
LAB_00040d18:
      iVar19 = piVar20[0x30];
LAB_00040d20:
      pppppcVar23 = (code *****)(piVar20 + 0x38);
      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);
      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);
      iVar19 = piVar20[3];
      goto LAB_0003fb74;
    }
    if (iVar19 < 0x27b7) {
      if (iVar19 == 0x2561) {
        if (pppppcVar24 != (code *****)0x0) {
          *piVar20 = 0x2561;
          goto LAB_0003fd3c;
        }
        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
        *(undefined4 *)(iVar11 + 0x100) = 0;
        goto LAB_00040ca4;
      }
      if (0x2561 < iVar19) {
        if (iVar19 == 0x2696) {
          iVar19 = *(int *)(puVar26 + 0x72fb4);
          if (pppppcVar24 != (code *****)0x0) {
LAB_00040040:
            uVar2 = dupprintf(iVar19 + 0x4d34);
            goto LAB_00040050;
          }
          if (0 < iVar15) goto LAB_00041768;
          ppppcStack_90 = *(code *****)(iVar11 + 0x254);
          piVar20[0x29] = *(int *)(iVar11 + 600);
        }
        else {
          if (0x2696 < iVar19) {
            if (iVar19 == 0x26df) {
              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;
              if (pppppcVar24[2] == (code ****)0x3c) {
                (**(code **)(puVar26 + 0x73038))
                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);
                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;
                iVar19 = iVar11 + 0x110;
                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);
                unaff_s5 = (code *****)piVar20[0x19];
                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);
                FUN_0003a5ac(iVar19,unaff_s5,uVar2);
                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);
                goto LAB_00041ae8;
              }
              piVar20[3] = 1;
              piVar20[1] = 2;
              goto LAB_0003f824;
            }
            if (iVar19 != 0x2703) goto LAB_0003fd38;
            if (pppppcVar24 != (code *****)0x0) {
              *piVar20 = 0x2703;
              goto LAB_0003fd3c;
            }
            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
            *(undefined4 *)(iVar11 + 0x100) = 0;
            goto LAB_00040240;
          }
          if (iVar19 == 0x25a0) {
            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;
            *piVar20 = 0x25a0;
            goto LAB_0003fd3c;
          }
          if (iVar19 != 0x2650) goto LAB_0003fd38;
          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;
          if (pppppcVar24[2] != (code ****)0x3c) {
            piVar20[3] = 1;
            goto LAB_0003fb5c;
          }
          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {
            iVar19 = iVar11 + 0x110;
            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);
            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);
            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);
          }
          unaff_s5 = &ppppcStack_90;
          iVar19 = FUN_0003b04c(0x32);
          uVar2 = *(undefined4 *)(iVar11 + 0x250);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,uVar2);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);
          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);
          puVar3 = (undefined4 *)piVar20[0x2e];
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(puVar3,&pppcStack_88,4);
          iVar6 = piVar20[0x26];
          iVar15 = piVar20[0x23];
          iVar19 = piVar20[0x2e];
          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);
          puVar3[6] = *puVar3;
          FUN_0003b124(iVar19,iVar15,iVar6);
          puVar3 = (undefined4 *)piVar20[0x2e];
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(puVar3,&pppcStack_88,4);
          iVar15 = piVar20[0x22];
          iVar19 = piVar20[0x2e];
          iVar6 = piVar20[0x25];
          puVar3[6] = *puVar3;
          FUN_0003b124(iVar19,iVar15,iVar6);
          uVar8 = *(uint *)(iVar11 + 0x50);
          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);
          piVar20[0x28] = iVar19;
          if ((uVar8 & 0x80) == 0) {
            iVar19 = iVar19 + 4;
          }
          else {
            piVar20[0x28] = iVar19 + -4;
          }
          pcVar27 = *(code **)(puVar26 + 0x73014);
          iVar19 = piVar20[0x25] + 5 + iVar19;
          piVar20[0x2a] = iVar19 + 4;
          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);
          piVar20[0x2c] = (int)puVar7;
          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);
          pcVar27 = *(code **)(puVar26 + 0x73b14);
          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);
          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);
          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];
          piVar20[0x2b] = piVar20[0x2c] + 5;
          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;
          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);
          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);
          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);
          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];
          iVar19 = piVar20[0x2b];
          piVar20[0x2b] = iVar19 + 4;
          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);
          iVar19 = piVar20[0x2b];
          piVar20[0x2b] = iVar19 + piVar20[0x25];
          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);
          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);
          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);
          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];
          iVar15 = piVar20[0x2b];
          uVar8 = *(uint *)(iVar11 + 0x50);
          iVar19 = iVar15 + 4;
          piVar20[0x2b] = iVar19;
          if ((uVar8 & 0x80) == 0) {
            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);
            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);
            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);
            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);
            iVar19 = piVar20[0x2b] + 4;
            piVar20[0x2b] = iVar19;
          }
          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));
          iVar6 = *(int *)piVar20[0x2e];
          iVar15 = ((int *)piVar20[0x2e])[4];
          pcVar27 = *(code **)(puVar26 + 0x73b14);
          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);
          piVar20[0x2b] = iVar19;
          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);
          pcVar27 = *(code **)(puVar26 + 0x73030);
          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);
          piVar20[0x2b] = (int)puVar7;
          *puVar7 = 0;
          *(undefined1 *)(piVar20[0x2b] + 1) = 0;
          *(undefined1 *)(piVar20[0x2b] + 2) = 0;
          *(undefined1 *)(piVar20[0x2b] + 3) = 0;
          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,
                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);
          *(int *)(iVar11 + 0x6d0) = iVar19;
          if (iVar19 != 0) {
LAB_00041768:
            *piVar20 = 0x2696;
            goto LAB_0003fd3c;
          }
        }
        piVar20[0x2d] = (int)ppppcStack_90;
        safefree(piVar20[0x2c]);
        iVar19 = piVar20[0x2d];
        if (iVar19 == 0) {
LAB_0003fb5c:
          if (piVar20[0x1f] == 0) {
            iVar15 = piVar20[0x20];
            iVar19 = piVar20[3];
            piVar20[0x20] = iVar15 + 1;
            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;
            piVar20[9] = 1;
            goto LAB_0003fb74;
          }
          iVar19 = piVar20[3];
          piVar20[9] = 1;
          piVar20[8] = 1;
          goto LAB_0003fb74;
        }
        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {
          iVar15 = *(int *)(puVar26 + 0x72fb4);
        }
        else {
          iVar15 = *(int *)(puVar26 + 0x72fb4);
          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {
            (**(code **)(puVar26 + 0x73038))
                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);
            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],
                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));
            FUN_000463f8(iVar11,piVar20[0x2e]);
            piVar20[1] = 1;
            goto LAB_0003fb5c;
          }
        }
        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);
        goto LAB_00040050;
      }
      if (iVar19 == 0x246f) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;
        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;
        piVar20[2] = 1;
        goto LAB_0003fe10;
      }
      if (iVar19 < 0x2470) {
        iVar15 = *(int *)(puVar26 + 0x73504);
        if (iVar19 != 0) goto LAB_0003fd38;
        goto LAB_0003fd9c;
      }
      if (iVar19 == 0x247a) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;
        if (pppppcVar24[2] != (code ****)0x6) {
          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);
          goto LAB_00040050;
        }
        goto LAB_0003fe04;
      }
      if (iVar19 != 0x24d9) goto LAB_0003fd38;
      if (pppppcVar24 != (code *****)0x0) {
        iVar19 = *(int *)(puVar26 + 0x72fb4);
        goto LAB_00040040;
      }
      if (0 < iVar15) goto LAB_00040ffc;
      ppppcStack_90 = *(code *****)(iVar11 + 0x254);
      piVar20[0x1e] = *(int *)(iVar11 + 600);
      goto LAB_0003fbf0;
    }
    if (iVar19 == 0x2917) {
      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;
      if (pppppcVar24[2] != (code ****)0x3c) {
LAB_00040ef0:
        iVar19 = piVar20[0x12];
        pcVar27 = *(code **)(puVar26 + 0x73a54);
        piVar20[3] = 1;
        uVar2 = (*pcVar27)(iVar19);
        smemclr(iVar19,uVar2);
        safefree(piVar20[0x12]);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;
    }
    else {
      if (iVar19 < 0x2918) {
        if (iVar19 == 0x28a4) {
          if (pppppcVar24 != (code *****)0x0) {
            *piVar20 = 0x28a4;
            goto LAB_0003fd3c;
          }
          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
          *(undefined4 *)(iVar11 + 0x100) = 0;
        }
        else {
          if (iVar19 < 0x28a5) {
            if (iVar19 == 0x2807) {
              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;
              if (pppppcVar24[2] == (code ****)0x3d) {
                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);
                iVar19 = piVar20[0x39];
                piVar20[0x35] = (int)ppppcStack_94;
                piVar20[0x34] = (int)pppcStack_98;
                if (iVar19 == 1) {
                  pppppcVar23 = (code *****)piVar20[0x30];
                  goto LAB_0004138c;
                }
                goto LAB_00041414;
              }
              (**(code **)(puVar26 + 0x73038))
                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);
              piVar20[0x39] = 4;
              goto LAB_00040d18;
            }
            if (iVar19 != 0x284b) goto LAB_0003fd38;
            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;
            iVar19 = *(int *)(puVar26 + 0x7336c);
            if (pppppcVar24[2] != (code ****)0x3c) {
              piVar20[3] = 1;
              piVar20[1] = 7;
              piVar20[0xc] = 1;
              goto LAB_0003f824;
            }
          }
          else {
            if (iVar19 != 0x28ca) {
              if (iVar19 != 0x28e8) goto LAB_0003fd38;
              if (pppppcVar24 != (code *****)0x0) {
                *piVar20 = 0x28e8;
                goto LAB_0003fd3c;
              }
              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
              *(undefined4 *)(iVar11 + 0x100) = 0;
              goto LAB_00040118;
            }
            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;
            if (pppppcVar24[2] != (code ****)0x3c) {
              piVar20[3] = 1;
              goto LAB_0003f824;
            }
            iVar19 = *(int *)(puVar26 + 0x7336c);
          }
          pcVar27 = (code *)(iVar19 + 0x7704);
          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);
          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);
          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);
          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
          piVar20[0xf] = (int)puVar3;
          *puVar3 = 1;
          iVar19 = FUN_00036be8(pppppcVar24);
          piVar20[0x10] = iVar19;
          if (0 < iVar19) {
            iVar6 = *(int *)(puVar26 + 0x72fa4);
            iVar15 = 0;
            unaff_s5 = &ppppcStack_90;
            iVar19 = *(int *)(puVar26 + 0x72fb4);
            do {
              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);
              ppppcVar4 = pppppcVar24[6];
              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {
                bVar22 = false;
              }
              else {
                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);
                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);
                bVar22 = cVar1 != '\0';
              }
              if ((code *****)ppppcStack_90 == (code *****)0x0) {
                ppppcStack_90 = (code ****)&DAT_00000020;
                ppppcStack_94 = (code ****)(iVar6 + 0x2280);
              }
              iVar15 = iVar15 + 1;
              iVar18 = piVar20[0xf];
              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);
              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);
            } while (iVar15 < piVar20[0x10]);
          }
          pppppcVar23 = (code *****)piVar20[0xf];
          if (iStack_a0 == 0) {
            ppppcVar4 = (code ****)
                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);
            iVar19 = piVar20[0xf];
            pppppcVar23[1] = ppppcVar4;
            *(undefined4 *)(iVar19 + 8) = 0;
          }
          else {
            ppppcVar4 = (code ****)
                        (**(code **)(puVar26 + 0x73010))
                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);
            iVar19 = piVar20[0xf];
            pppppcVar23[1] = ppppcVar4;
            *(undefined4 *)(iVar19 + 8) = 1;
          }
          if (piVar20[0x10] == 0 && iStack_a0 == 0) {
            iVar15 = *(int *)(puVar26 + 0x72fb4);
            if (iStack_9c != 0) {
LAB_00042638:
              iVar15 = iVar15 + 0x71dc;
              goto LAB_000422b4;
            }
            *(undefined4 *)(iVar19 + 0x10) = 0;
          }
          else {
            iVar15 = *(int *)(puVar26 + 0x72fb4);
            if (iStack_9c != 0) goto LAB_00042638;
            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;
LAB_000422b4:
            uVar2 = (**(code **)(puVar26 + 0x73010))
                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);
            *(undefined4 *)(iVar19 + 0xc) = uVar2;
            iVar19 = piVar20[0xf];
            *(undefined4 *)(iVar19 + 0x10) = 1;
          }
          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);
        }
        if (iVar19 < 0) {
          *(undefined4 *)(iVar11 + 0x100) = 1;
          *piVar20 = 0x28a4;
          goto LAB_0003fd3c;
        }
        if (iVar19 == 0) {
          iVar15 = piVar20[0xf];
          goto LAB_00040b04;
        }
        iVar19 = FUN_0003b04c(0x3d);
        piVar20[0x2e] = iVar19;
        FUN_0003b1cc(iVar19,piVar20[0x10]);
        if (0 < piVar20[0x10]) {
          iVar19 = 0;
          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);
          do {
            iVar15 = iVar19 * 4;
            iVar19 = iVar19 + 1;
            FUN_0003b23c(piVar20[0x2e],
                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));
          } while (iVar19 < piVar20[0x10]);
        }
        FUN_0004c528(iVar11,piVar20[0x2e]);
        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);
LAB_00041954:
        *piVar20 = 0x28ca;
        goto LAB_0003fd3c;
      }
      if (iVar19 == 0x2a03) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;
        ppppcVar4 = pppppcVar24[2];
        if (1 < (int)ppppcVar4 - 0x5bU) {
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;
          goto LAB_00040078;
        }
        iVar19 = FUN_00036be8(pppppcVar24);
        iVar15 = *(int *)(iVar11 + 0x128);
        if (iVar19 != *(int *)(iVar15 + 8)) {
          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);
          goto LAB_00040050;
        }
        if (pppppcVar24[2] == (code ****)0x5c) {
          uVar2 = FUN_00038814(pppppcVar24);
          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);
          FUN_0003822c(iVar11,uVar14);
          goto LAB_00041054;
        }
        uVar2 = FUN_00036be8(pppppcVar24);
        iVar6 = *(int *)(iVar11 + 0x128);
        *(undefined4 *)(iVar15 + 4) = uVar2;
        *(undefined4 *)(iVar6 + 0x10) = 0;
        *(undefined4 *)(iVar6 + 0xc) = 0;
        uVar2 = FUN_00036be8();
        iVar19 = *(int *)(iVar11 + 0x128);
        *(undefined4 *)(iVar6 + 0x2c) = uVar2;
        uVar2 = FUN_00036be8();
        uVar14 = *(undefined4 *)(iVar11 + 0x110);
        pcVar27 = *(code **)(puVar26 + 0x7348c);
        *(undefined4 *)(iVar19 + 0x30) = uVar2;
        (*pcVar27)(uVar14);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);
        goto LAB_0003ff14;
      }
      if (0x2a03 < iVar19) {
        if (iVar19 != 0x2a90) {
          if (iVar19 != 0x2abd) goto LAB_0003fd38;
          if (pppppcVar24 != (code *****)0x0) {
            ppppcVar4 = pppppcVar24[2];
            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;
            goto LAB_00040078;
          }
          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;
          FUN_00048f30();
          goto LAB_0003f7c4;
        }
        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;
        ppppcVar4 = pppppcVar24[2];
        if (ppppcVar4 == (code ****)0x63) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);
          goto LAB_0003ffec;
        }
        if (ppppcVar4 != (code ****)0x64) {
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;
          goto LAB_00040078;
        }
        if ((*(int *)(iVar11 + 0x174) == 0) &&
           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),
           *pcVar9 != '\0')) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);
          *(undefined4 *)(iVar11 + 0x174) = 1;
          goto LAB_0004261c;
        }
        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);
        goto LAB_00040050;
      }
      if (iVar19 == 0x2956) {
        if (pppppcVar24 != (code *****)0x0) {
          *piVar20 = 0x2956;
          goto LAB_0003fd3c;
        }
        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
        *(undefined4 *)(iVar11 + 0x100) = 0;
        goto LAB_0003f648;
      }
      if (iVar19 != 0x2999) goto LAB_0003fd38;
      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;
      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;
    }
    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);
    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);
    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);
    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);
    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));
    piVar20[0xf] = (int)puVar3;
    *puVar3 = 1;
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);
    puVar3[1] = uVar2;
    pppppcVar17 = (code *****)ppppcStack_94;
    if ((code *****)ppppcStack_94 == (code *****)0x0) {
      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);
    }
    pppppcVar23 = (code *****)piVar20[0xf];
    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)
    ;
    iVar15 = piVar20[0xf];
    pppppcVar23[3] = ppppcVar4;
    iVar19 = *(int *)(puVar26 + 0x72fb4);
    *(undefined4 *)(iVar15 + 0x10) = 1;
    uVar2 = dupstr(iVar19 + 0x54b8);
    add_prompt(iVar15,uVar2,0);
    iVar19 = piVar20[0xf];
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);
    add_prompt(iVar19,uVar2,0);
    iVar19 = piVar20[0xf];
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);
    add_prompt(iVar19,uVar2,0);
    while( true ) {
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_0003f648:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x2956;
        goto LAB_0003fd3c;
      }
      if (iVar19 == 0) {
        (**(code **)(puVar26 + 0x7353c))();
        iVar19 = piVar20[0x12];
        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);
        iVar15 = piVar20[0x12];
        pcVar27 = *(code **)(puVar26 + 0x72fdc);
        goto LAB_00040b08;
      }
      piVar5 = *(int **)(piVar20[0xf] + 0x18);
      if (**(char **)(*piVar5 + 8) != '\0') {
        iVar19 = piVar20[0x12];
        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);
        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);
        iVar19 = (**(code **)(puVar26 + 0x7301c))
                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));
        piVar20[0x12] = iVar19;
        piVar5 = *(int **)(piVar20[0xf] + 0x18);
      }
      iVar19 = (**(code **)(puVar26 + 0x73b4c))
                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));
      if (iVar19 == 0) break;
      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);
    }
    iVar19 = FUN_0003b04c(0x32);
    uVar2 = *(undefined4 *)(iVar11 + 0x250);
    piVar20[0x2e] = iVar19;
    FUN_0003b23c(iVar19,uVar2);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);
    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);
    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);
    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));
    free_prompts(piVar20[0xf]);
    FUN_0004c528(iVar11,piVar20[0x2e]);
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);
LAB_0003f784:
    *piVar20 = 0x2999;
    goto LAB_0003fd3c;
  }
  piVar20 = (int *)safemalloc(1,0xe8);
  *(int **)(iVar11 + 0x1d0) = piVar20;
  *piVar20 = 0;
  iVar15 = *(int *)(puVar26 + 0x73504);
  pppppcVar24 = param_3;
LAB_0003fd9c:
  iVar19 = *(int *)(iVar11 + 0xec);
  iVar15 = iVar15 + 0xae0;
  *(int *)(iVar11 + 0x288) = iVar15;
  *(int *)(iVar11 + 0x338) = iVar15;
  *(int *)(iVar11 + 0x33c) = iVar15;
  *(int *)(iVar11 + 0x340) = iVar15;
  *(int *)(iVar11 + 0x344) = iVar15;
  *(int *)(iVar11 + 0x360) = iVar15;
  *(int *)(iVar11 + 0x364) = iVar15;
  *(int *)(iVar11 + 0x3b0) = iVar15;
  *(int *)(iVar11 + 0x3b4) = iVar15;
  *(int *)(iVar11 + 0x3b8) = iVar15;
  *(int *)(iVar11 + 0x3d8) = iVar15;
  *(int *)(iVar11 + 0x3dc) = iVar15;
  *(int *)(iVar11 + 0x3e0) = iVar15;
  *(int *)(iVar11 + 0x3e4) = iVar15;
  *(int *)(iVar11 + 1000) = iVar15;
  *(int *)(iVar11 + 0x3ec) = iVar15;
  *(int *)(iVar11 + 0x3f0) = iVar15;
  *(int *)(iVar11 + 0x3f4) = iVar15;
  piVar20[2] = 0;
  piVar20[0xe] = 0;
  piVar20[0xd] = 0;
  piVar20[0x1c] = 0;
  piVar20[0xb] = 0;
  if (iVar19 == 0) {
    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);
    if (iVar19 == 0) {
      iVar19 = FUN_0003b04c(5);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);
      FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_00042034:
      *piVar20 = 0x246f;
      goto LAB_0003fd3c;
    }
LAB_000400a0:
    if (piVar20[2] == 0) {
      iVar19 = FUN_0003b04c(5);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_000400f8:
      *piVar20 = 0x247a;
      goto LAB_0003fd3c;
    }
  }
  else {
LAB_0003fe04:
    piVar20[0xd] = 1;
  }
LAB_0003fe10:
  bufchain_init(iVar11 + 0x178);
  iVar19 = piVar20[0xd];
  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;
  piVar20[0x14] = 0;
  if (iVar19 != 0) {
    piVar20[0x13] = 0;
    goto LAB_0003fe38;
  }
  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
  pcVar27 = *(code **)(puVar26 + 0x73554);
  piVar20[0x2f] = iVar19;
  iVar19 = (*pcVar27)(iVar19);
  if (iVar19 == 0) {
    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);
    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);
    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);
    if (iVar19 == 3) {
      iVar19 = (**(code **)(puVar26 + 0x7356c))
                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)
      ;
      piVar20[0x14] = iVar19;
      if (iVar19 == 0) goto LAB_000424c4;
      piVar20[0x16] = 1;
LAB_0004292c:
      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);
      piVar20[0x17] = iVar19;
    }
    else if (iVar19 - 9U < 2) {
      iVar19 = (**(code **)(puVar26 + 0x7356c))
                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)
      ;
      piVar20[0x14] = iVar19;
      if (iVar19 != 0) {
        iVar19 = *(int *)(puVar26 + 0x72fb4);
        piVar20[0x16] = 0;
        FUN_00036ce8(iVar11,iVar19 + 0x582c);
        goto LAB_0004292c;
      }
LAB_000424c4:
      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);
      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
      uVar2 = (**(code **)(puVar26 + 0x73010))
                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);
      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
      (**(code **)(puVar26 + 0x72fdc))(uVar2);
    }
    else {
      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);
      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);
      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);
      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);
      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
      (**(code **)(puVar26 + 0x72fdc))(uVar2);
      piVar20[0x14] = 0;
    }
  }
  uVar2 = *(undefined4 *)(iVar11 + 0x248);
  pcVar27 = *(code **)(puVar26 + 0x73040);
  piVar20[0x21] = 0;
  piVar20[0x1c] = 0;
  piVar20[0x1f] = 0;
  iVar19 = (*pcVar27)(uVar2,0x1c);
  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))
  goto LAB_0003fc30;
  (**(code **)(puVar26 + 0x73038))
            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);
  piVar20[0x1a] = 1;
  *(undefined1 *)(piVar20 + 0x1b) = 0xb;
  iVar19 = (**(code **)(puVar26 + 0x73030))
                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,
                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);
  *(int *)(iVar11 + 0x6d0) = iVar19;
  if (iVar19 != 0) {
LAB_00040ffc:
    *piVar20 = 0x24d9;
    goto LAB_0003fd3c;
  }
LAB_0003fbf0:
  pppppcVar24 = (code *****)ppppcStack_90;
  piVar20[0x1c] = (int)ppppcStack_90;
  if ((code *****)ppppcStack_90 == (code *****)0x0) {
LAB_0003fc18:
    iVar19 = *(int *)(puVar26 + 0x72fb4);
  }
  else {
    iVar19 = *(int *)(puVar26 + 0x72fb4);
    if (4 < piVar20[0x1e]) {
      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {
        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));
        piVar20[0x21] = iVar19;
        if (iVar19 < 0) {
          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);
          piVar20[0x21] = 0;
        }
        else {
          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);
          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);
          if (iVar19 == 0) {
LAB_00042c08:
            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);
            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);
            if (piVar20[0x14] != 0) {
              unaff_s5 = (code *****)0x0;
              if (0 < piVar20[0x21]) {
                do {
                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);
                  piVar20[0x25] = iVar19;
                  if ((iVar19 == piVar20[0x15]) &&
                     (iVar15 = (**(code **)(puVar26 + 0x73af8))
                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {
                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);
                    piVar20[0x20] = (int)unaff_s5;
                    piVar20[0x1f] = (int)pppppcVar24;
                    goto LAB_0003fc30;
                  }
                  unaff_s5 = (code *****)((int)unaff_s5 + 1);
                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);
                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);
                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);
                } while ((int)unaff_s5 < piVar20[0x21]);
              }
              if (piVar20[0x1f] == 0) {
                (**(code **)(puVar26 + 0x73038))
                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);
                piVar20[0x21] = 0;
              }
            }
          }
          else {
            iVar19 = *(int *)(puVar26 + 0x72fb4);
            if (3 < (int)pppppcVar23) {
              unaff_s5 = (code *****)0x0;
              pppppcVar17 = pppppcVar24;
              do {
                pppppcVar23 = pppppcVar23 + -1;
                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);
                if (pppppcVar23 < pppppcVar10) {
LAB_00042a68:
                  iVar19 = *(int *)(puVar26 + 0x72fb4);
                  break;
                }
                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));
                iVar15 = (**(code **)(puVar26 + 0x73100))
                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));
                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;
                iVar19 = piVar20[0x21];
                unaff_s5 = (code *****)((int)unaff_s5 + 1);
                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);
                pppppcVar17 = (code *****)
                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);
                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;
                iVar19 = *(int *)(puVar26 + 0x72fb4);
              } while (3 < (int)pppppcVar23);
            }
            FUN_00036ce8(iVar11,iVar19 + 0x4da8);
            piVar20[0x21] = 0;
          }
        }
        goto LAB_0003fc30;
      }
      goto LAB_0003fc18;
    }
  }
  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);
LAB_0003fc30:
  piVar20[0x13] = 0;
  if (piVar20[0xd] != 0) goto LAB_0003fe38;
  uVar2 = *(undefined4 *)(iVar11 + 0x248);
LAB_0003fc40:
  iVar19 = get_remote_username(uVar2);
  *(int *)(iVar11 + 0x250) = iVar19;
  if (iVar19 == 0) {
    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
    piVar20[0xf] = (int)puVar3;
    *puVar3 = 1;
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);
    pppppcVar23 = (code *****)piVar20[0xf];
    puVar3[1] = uVar2;
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);
    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);
    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040ca4:
    if (iVar19 < 0) {
      *(undefined4 *)(iVar11 + 0x100) = 1;
      *piVar20 = 0x2561;
      goto LAB_0003fd3c;
    }
    if (iVar19 == 0) {
      (**(code **)(puVar26 + 0x7353c))();
      uVar2 = 0;
      iVar15 = 0;
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;
      goto LAB_00040b30;
    }
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));
    iVar19 = piVar20[0xf];
    pcVar27 = *(code **)(puVar26 + 0x7353c);
    *(undefined4 *)(iVar11 + 0x250) = uVar2;
    (*pcVar27)(iVar19);
  }
  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {
    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);
    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
    (**(code **)(puVar26 + 0x72fdc))(uVar2);
  }
LAB_0003fc6c:
  piVar20[0x13] = 1;
  *(undefined4 *)(iVar11 + 0x188) = 0;
  iVar19 = FUN_0003b04c(0x32);
  uVar2 = *(undefined4 *)(iVar11 + 0x250);
  piVar20[0x2e] = iVar19;
  FUN_0003b23c(iVar19,uVar2);
  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);
  FUN_000463f8(iVar11,piVar20[0x2e]);
  piVar20[1] = 0;
  piVar20[3] = 0;
  piVar20[0xd] = 0;
  piVar20[8] = 0;
  piVar20[0xc] = 0;
  piVar20[9] = 0;
  if (piVar20[0x1c] == 0) goto LAB_0003fb80;
  if (piVar20[0x1f] == 0) {
    piVar20[0x20] = 0;
    piVar20[0x1d] = piVar20[0x1c] + 9;
    *piVar20 = 0x25a0;
  }
  else {
    piVar20[0x1d] = piVar20[0x1f];
    *piVar20 = 0x25a0;
  }
LAB_0003fd3c:
  if (iStack_84 == *piVar21) {
    return;
  }
  (**(code **)(puVar26 + 0x73ae4))();
LAB_00042b98:
  (**(code **)(puVar26 + 0x73038))
            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);
  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);
  iVar19 = piVar20[3];
LAB_0003fb74:
  ppppcStack_94 = (code ****)0x0;
  ppppcStack_90 = (code ****)0x0;
  if (iVar19 == 0) goto LAB_0003fb80;
LAB_0003f824:
  ppppcStack_90 = (code ****)0x0;
  ppppcStack_94 = (code ****)0x0;
LAB_0003f828:
  pppppcVar23 = (code *****)(iVar11 + 0x178);
  iVar19 = bufchain_size(pppppcVar23);
  if (iVar19 != 0) {
    unaff_s5 = *(code ******)(puVar26 + 0x730a8);
    if (((uint)*unaff_s5 & 5) != 0) {
      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);
      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);
      if (((uint)*unaff_s5 & 2) == 0) {
        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);
      }
      else {
        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);
        if (0 < iVar19) {
          unaff_s5 = (code *****)&DAT_0000000d;
          pcVar25 = pcVar9;
          do {
            uVar8 = (uint)*pcVar25;
            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {
              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);
            }
            pcVar25 = pcVar25 + 1;
          } while (pcVar25 != pcVar9 + iVar19);
        }
      }
      safefree(pcVar9);
    }
  }
  bufchain_clear(pppppcVar23);
  ppppcVar4 = pppppcVar24[2];
  if (ppppcVar4 == (code ****)0x34) {
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);
    piVar20[0xe] = 1;
    piVar20[0xd] = 1;
LAB_0003fe38:
    iVar19 = piVar20[0x14];
    *(undefined4 *)(iVar11 + 0x344) = 0;
    if (iVar19 != 0) {
      safefree(piVar20[0x18]);
      safefree(piVar20[0x14]);
      safefree(piVar20[0x19]);
    }
    if (piVar20[0x1c] != 0) {
      safefree();
    }
    iVar19 = *(int *)(puVar26 + 0x7336c);
    if (piVar20[0xe] == 0) {
LAB_0003fecc:
      pcVar27 = *(code **)(puVar26 + 0x730c8);
    }
    else {
      pcVar27 = *(code **)(puVar26 + 0x730c8);
      if (*(int *)(iVar11 + 0xec) == 0) {
        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);
        iVar19 = *(int *)(puVar26 + 0x7336c);
        goto LAB_0003fecc;
      }
    }
    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);
    *(undefined4 *)(iVar11 + 0x124) = uVar2;
    pcVar27 = *(code **)(puVar26 + 0x73040);
    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;
    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;
    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);
    if (iVar19 == 0) {
      piVar5 = (int *)safemalloc(1,0x5c);
      *(int **)(iVar11 + 0x128) = piVar5;
      *piVar5 = iVar11;
      FUN_0003e1f8(piVar5);
      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);
      if (*pcVar9 == '\0') {
        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,
                              *(int *)(puVar26 + 0x72fb4) + 0x7718);
        uVar2 = *(undefined4 *)(iVar11 + 0x110);
        piVar20[0x2e] = iVar19;
        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        *(undefined4 *)(iVar11 + 300) = 0;
        *piVar20 = 0x2a03;
      }
      else {
        uVar14 = *(undefined4 *)(iVar11 + 0x128);
        pppppcVar23 = (code *****)
                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);
        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);
        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);
        *(undefined4 *)(iVar11 + 300) = 1;
LAB_00040660:
        *piVar20 = 0x2a03;
      }
    }
    else {
      *(undefined4 *)(iVar11 + 0x128) = 0;
LAB_0003ff14:
      iVar15 = *(int *)(puVar26 + 0x73504);
      iVar19 = *(int *)(puVar26 + 0x73504);
      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;
      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;
      iVar15 = *(int *)(puVar26 + 0x73504);
      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;
      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;
      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;
      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;
      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;
      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;
      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;
      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;
      if (*(int *)(iVar11 + 0xf4) != 0) {
        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));
      }
      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {
        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0
                              ,0);
        piVar20[0x2e] = iVar19;
        FUN_000463f8(iVar11,iVar19);
      }
      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));
      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {
        *(undefined4 *)(iVar11 + 0x104) = 1;
        *(undefined4 *)(iVar11 + 0x108) = 1;
LAB_0003ffec:
        *(undefined4 *)(iVar11 + 0x144) = 3;
        if (*(int *)(iVar11 + 0x148) != 0) {
          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));
        }
        if (*(int *)(iVar11 + 0x14c) != 0) {
          FUN_0004f144(iVar11,0xc);
        }
        if (*(int *)(iVar11 + 0x14) != 0) {
          ldisc_echoedit_update();
        }
        if (*(int *)(iVar11 + 0x128) == 0) {
LAB_0003f7c4:
          *piVar20 = 0x2abd;
        }
        else {
          *(undefined4 *)(iVar11 + 0x100) = 1;
          *piVar20 = 0x2abd;
        }
      }
      else {
        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);
        if (iVar19 != 0) {
          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);
          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));
          *(int *)(iVar11 + 0x18c) = iVar19;
          if (iVar19 == 0) {
            (**(code **)(puVar26 + 0x73038))
                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);
          }
          else {
            uVar14 = *(undefined4 *)(iVar11 + 0x194);
            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);
            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);
            uVar2 = *(undefined4 *)(iVar11 + 0x128);
            *(int *)(iVar11 + 400) = iVar19;
            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);
            FUN_00046fcc(uVar2,0,0);
          }
        }
        iVar19 = ssh_agent_forwarding_permitted(iVar11);
        if (iVar19 != 0) {
          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);
        }
        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);
        if (iVar19 == 0) {
          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);
        }
        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);
        if (*(int *)(iVar11 + 0x174) == 0) {
          pppppcVar23 = (code *****)
                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);
          uVar2 = 0x14;
        }
        else {
LAB_0004261c:
          pppppcVar23 = (code *****)
                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);
          uVar2 = 0x15;
        }
        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);
        if (pppppcVar23 == (code *****)0x0) {
          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;
          if (*pcVar9 != '\0') {
            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;
            goto LAB_00041828;
          }
          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754
                                ,iVar15,0);
          piVar20[0x2e] = iVar19;
        }
        else {
          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;
LAB_00041828:
          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,pcVar9);
          iVar19 = piVar20[0x2e];
        }
        FUN_000463f8(iVar11,iVar19);
LAB_00041870:
        *piVar20 = 0x2a90;
      }
    }
    goto LAB_0003fd3c;
  }
  if (ppppcVar4 == (code ****)0x33) {
    piVar20[3] = 0;
    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);
    ppppcVar4 = pppppcVar24[6];
    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||
       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),
       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {
      iVar19 = piVar20[1];
      piVar5 = *(int **)(puVar26 + 0x734a0);
      if (iVar19 == 0) goto LAB_000411b0;
      if (iVar19 - 2U < 2) {
        if (iVar19 == 2) {
          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);
        goto LAB_000411b0;
      }
      if (iVar19 == 1) {
        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);
        goto LAB_000411b0;
      }
      if (iVar19 == 7) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);
        goto LAB_000411b0;
      }
      iVar15 = *(int *)(puVar26 + 0x72fb4);
      if (iVar19 != 5) {
        if (iVar19 != 6) {
          if (iVar19 != 4) goto LAB_00042db4;
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);
          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);
          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);
          if (iVar19 == 0) goto LAB_000411b0;
          uVar2 = *(undefined4 *)(iVar11 + 0x248);
          piVar20[0xd] = 0;
          if (piVar20[0x13] == 0) goto LAB_0003fc40;
          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);
          if (iVar19 == 0) goto LAB_0003fc6c;
          uVar2 = *(undefined4 *)(iVar11 + 0x248);
          goto LAB_0003fc40;
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);
        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);
        goto LAB_000411b0;
      }
    }
    else {
      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);
      (**(code **)(puVar26 + 0x73038))
                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);
LAB_000411b0:
      iVar15 = *(int *)(puVar26 + 0x72fb4);
    }
    pppppcVar23 = (code *****)ppppcStack_90;
    pppppcVar24 = (code *****)ppppcStack_94;
    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);
    piVar20[5] = iVar19;
    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);
    uVar2 = *(undefined4 *)(iVar11 + 0x248);
    pcVar27 = *(code **)(puVar26 + 0x73040);
    piVar20[6] = iVar19;
    uVar8 = (*pcVar27)(uVar2,0x26);
    if (uVar8 != 0) {
      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);
      uVar8 = (uint)(iVar19 != 0);
    }
    pcVar27 = *(code **)(puVar26 + 0x73040);
    uVar2 = *(undefined4 *)(iVar11 + 0x248);
    piVar20[7] = uVar8;
    iVar19 = (*pcVar27)(uVar2,0x27);
    if ((iVar19 == 0) ||
       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),
       iVar19 == 0)) {
      piVar20[10] = 0;
    }
    else {
      iVar19 = *(int *)(iVar11 + 0x6a8);
      if (iVar19 == 0) {
        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));
        *(int *)(iVar11 + 0x6a8) = iVar19;
      }
      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));
    }
  }
  else {
    if (piVar20[1] != 5) {
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;
LAB_00040078:
      uVar2 = dupprintf(iVar19,ppppcVar4);
LAB_00040050:
      FUN_0003822c(iVar11,uVar2);
LAB_0003fd38:
      *piVar20 = 0;
      goto LAB_0003fd3c;
    }
    piVar20[3] = 0;
  }
  iVar19 = piVar20[5];
  *(undefined4 *)(iVar11 + 0x188) = 0;
  if (iVar19 != 0) {
    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      iVar15 = piVar20[0x20];
      pppppcVar23 = (code *****)&pppcStack_88;
      *(undefined4 *)(iVar11 + 0x188) = 1;
      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);
      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);
      iVar6 = piVar20[0x1d];
      piVar20[0x25] = iVar19;
      iVar15 = iVar6 + 4;
      piVar20[0x22] = iVar15;
      pcVar27 = *(code **)(puVar26 + 0x73100);
      piVar20[0x1d] = iVar15 + iVar19;
      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));
      piVar20[0x26] = iVar19;
      piVar20[0x23] = piVar20[0x22] + 4;
      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);
      piVar20[0x27] = iVar19;
      piVar20[0x24] = piVar20[0x1d] + 4;
      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,pppppcVar23,4);
      iVar6 = piVar20[0x26];
      iVar15 = piVar20[0x23];
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,iVar15,iVar6);
      pppppcVar24 = (code *****)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(pppppcVar24,pppppcVar23,4);
      iVar6 = piVar20[0x25];
      iVar15 = piVar20[0x22];
      iVar19 = piVar20[0x2e];
      pppppcVar24[6] = *pppppcVar24;
      FUN_0003b124(iVar19,iVar15,iVar6);
      FUN_000463f8(iVar11,piVar20[0x2e]);
      piVar20[1] = 3;
LAB_00040908:
      *piVar20 = 0x2650;
      goto LAB_0003fd3c;
    }
    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {
      *(undefined4 *)(iVar11 + 0x188) = 1;
      piVar20[8] = 1;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,&pppcStack_88,4);
      iVar6 = piVar20[0x15];
      iVar15 = piVar20[0x14];
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,iVar15,iVar6);
      FUN_000463f8(iVar11,piVar20[0x2e]);
      (**(code **)(puVar26 + 0x73038))
                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);
LAB_00041ab0:
      *piVar20 = 0x26df;
      goto LAB_0003fd3c;
    }
  }
  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {
    piVar20[0xb] = 1;
    iVar15 = 0;
    piVar20[3] = 1;
    piVar20[1] = 5;
    *(undefined4 *)(iVar11 + 0x188) = 3;
    iVar19 = **(int **)(puVar26 + 0x73414);
    piVar20[0x30] = 0;
    if (0 < iVar19) {
      pcVar27 = *(code **)(puVar26 + 0x733d0);
      do {
        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);
        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];
        if (0 < iVar18) {
          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);
          if (iVar6 == *piVar5) {
LAB_0004106c:
            piVar20[0x30] = (int)piVar5;
            goto LAB_0003f984;
          }
          iVar13 = 0;
          while( true ) {
            piVar5 = piVar5 + 0x15;
            iVar13 = iVar13 + 1;
            if (iVar13 == iVar18) break;
            if (*piVar5 == iVar6) goto LAB_0004106c;
          }
        }
        iVar15 = iVar15 + 1;
        pcVar27 = *(code **)(puVar26 + 0x733d0);
      } while (iVar19 != iVar15);
      piVar5 = (int *)piVar20[0x30];
LAB_0003f984:
      if (piVar5 != (int *)0x0) {
        if (piVar5[1] != 0) {
          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));
        }
        pppppcVar23 = (code *****)&pppcStack_98;
        iVar19 = FUN_0003b04c(0x32);
        uVar2 = *(undefined4 *)(iVar11 + 0x250);
        piVar20[0x2e] = iVar19;
        FUN_0003b23c(iVar19,uVar2);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);
        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);
        pppcStack_88 = (code ***)0x1;
        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);
        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);
        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);
        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);
        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);
        FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_0003fae0:
        *piVar20 = 0x27b6;
        goto LAB_0003fd3c;
      }
    }
    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;
    (**(code **)(puVar26 + 0x73938))
              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,
               *(int *)(puVar26 + 0x72fb4) + 0x7e08);
    do {
      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);
LAB_00041ae8:
      if (piVar20[0x17] == 0) {
        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
        piVar20[0x2f] = iVar19;
        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);
        pppppcVar23 = &ppppcStack_90;
        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;
        break;
      }
      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
      piVar20[0xf] = (int)puVar3;
      *puVar3 = 0;
      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);
      iVar19 = piVar20[0x19];
      pppppcVar23 = (code *****)piVar20[0xf];
      puVar3[1] = uVar2;
      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);
      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040240:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x2703;
        goto LAB_0003fd3c;
      }
      iVar15 = piVar20[0xf];
      if (iVar19 == 0) goto LAB_00040b04;
      unaff_s5 = &ppppcStack_90;
      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));
      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);
      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
      piVar20[0x2f] = iVar15;
      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);
      if (iVar19 == 0) goto LAB_00042dd8;
      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
      smemclr(iVar19,uVar2);
      safefree(iVar19);
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      pppppcVar23 = unaff_s5;
    } while (piVar5 == *(int **)(puVar26 + 0x73550));
    do {
      if (piVar5 == (int *)0x0) break;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);
      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));
      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,&pppcStack_88,4);
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);
      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);
      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {
        iVar19 = iVar19 + -4;
      }
      puVar7 = (undefined1 *)safemalloc(iVar19,1);
      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {
        iVar15 = 4;
        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);
        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);
        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);
        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);
        puVar12 = puVar7 + 4;
      }
      else {
        iVar15 = 0;
        puVar12 = puVar7;
      }
      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));
      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);
      (**(code **)(puVar26 + 0x73b14))
                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);
      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {
        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)
        ;
        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23
                     ,ppppcStack_90);
        safefree(unaff_s5);
        safefree(pppppcVar23);
        safefree(puVar7);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);
        iVar19 = *piVar5;
        iVar15 = piVar5[1];
        piVar20[1] = 1;
        (**(code **)(iVar19 + 4))(iVar15);
        safefree(piVar5[2]);
        safefree(piVar5);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      (**(code **)(puVar26 + 0x73938))
                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,
                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);
      unaff_s5 = pppppcVar23;
LAB_00042db4:
      (**(code **)(puVar26 + 0x73938))
                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,
                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);
LAB_00042dd8:
      pppppcVar23 = unaff_s5;
    } while (piVar5 != *(int **)(puVar26 + 0x73550));
LAB_00041b34:
    pppppcVar23 = (code *****)(iVar11 + 0x110);
    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);
    unaff_s5 = (code *****)ppppcStack_90;
    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);
    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);
    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);
    iVar19 = piVar20[3];
    goto LAB_0003fb74;
  }
  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {
    if (piVar20[6] == 0) {
      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);
      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);
LAB_00041054:
      safefree(uVar2);
      *piVar20 = 0;
    }
    else {
      *(undefined4 *)(iVar11 + 0x188) = 2;
      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));
      piVar20[0xf] = (int)puVar3;
      *puVar3 = 1;
      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);
      uVar16 = *(undefined4 *)(iVar11 + 0xf8);
      uVar14 = *(undefined4 *)(iVar11 + 0x250);
      pppppcVar23 = (code *****)piVar20[0xf];
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      puVar3[1] = uVar2;
      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);
      add_prompt(pppppcVar23,uVar2,0);
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040118:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x28e8;
      }
      else {
        iVar15 = piVar20[0xf];
        if (iVar19 == 0) {
LAB_00040b04:
          pcVar27 = *(code **)(puVar26 + 0x7353c);
LAB_00040b08:
          (*pcVar27)(iVar15);
          uVar2 = 0xd;
          iVar19 = 0;
          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;
LAB_00040b30:
          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);
          *piVar20 = 0;
        }
        else {
          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));
          pcVar27 = *(code **)(puVar26 + 0x7353c);
          piVar20[0x12] = iVar19;
          (*pcVar27)(piVar20[0xf]);
          iVar19 = FUN_0003b04c(0x32);
          uVar2 = *(undefined4 *)(iVar11 + 0x250);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,uVar2);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);
          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);
          FUN_0004c528(iVar11,piVar20[0x2e]);
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);
          piVar20[1] = 4;
LAB_00040220:
          *piVar20 = 0x2917;
        }
      }
    }
  }
  else {
    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);
    piVar20[1] = 6;
    *(undefined4 *)(iVar11 + 0x188) = 4;
    iVar19 = FUN_0003b04c(0x32);
    uVar2 = *(undefined4 *)(iVar11 + 0x250);
    piVar20[0x2e] = iVar19;
    FUN_0003b23c(iVar19,uVar2);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);
    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);
    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);
    FUN_000463f8(iVar11,piVar20[0x2e]);
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);
LAB_0004072c:
    *piVar20 = 0x284b;
  }
  goto LAB_0003fd3c;
LAB_0003fb80:
  *piVar20 = 0x25a0;
  goto LAB_0003fd3c;
}


lui gp,0x8
addiu gp,gp,-0x4ebc
addu gp,gp,t9
addiu sp,sp,-0x58
lw t9,-0x7c10(gp)
sw s3,0x48(sp)
addiu t9,t9,0x6ce8
sw s4,0x4c(sp)
or s4,a2,zero
sw s2,0x44(sp)
or a2,a1,zero
sw s0,0x3c(sp)
or s2,a1,zero
lw s3,-0x746c(gp)
lw a1,-0x7fc8(gp)
lw s0,0x0(a0)
sw gp,0x28(sp)
sw s1,0x40(sp)
addiu a1,a1,0x4ba4
sw ra,0x54(sp)
or s1,a0,zero
sw s5,0x50(sp)
or a0,s0,zero
lw v0,0x0(s3)
sw a3,0x10(sp)
or a3,s4,zero
sw v0,0x34(sp)
bal 0x00036ce8
_nop
li v1,0x1
lw v0,0x198(s0)
beq v0,v1,0x0003f3ac
_lw gp,0x28(sp)
lw a2,-0x7fc8(gp)
addiu a1,s1,0x34
lw t9,-0x7adc(gp)
addiu a0,s1,0x8
addiu t9,t9,-0x3d7c
bal 0x0003c284
_addiu a2,a2,0x4bc8
or a0,s2,zero
lw gp,0x28(sp)
lw t9,-0x7ad0(gp)
bal 0x00021338
_or s1,v0,zero
or a0,s1,zero
lw gp,0x28(sp)
or a1,v0,zero
lw s2,-0x7adc(gp)
addiu s2,s2,-0x4dc4
or t9,s2,zero
bal 0x0003b23c
_or s5,v0,zero
lw gp,0x28(sp)
lw t9,-0x7fa0(gp)
bal 0x00021634
_or a0,s5,zero
or a1,s4,zero
lw gp,0x28(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,-0x4e34
bal 0x0003b1cc
_or a0,s1,zero
or a0,s1,zero
lw gp,0x28(sp)
or t9,s2,zero
lw a1,-0x7fc8(gp)
bal 0x0003b23c
_addiu a1,a1,0x4bd8
li a2,0x4
lw gp,0x28(sp)
addiu a1,sp,0x30
or a0,s1,zero
lw t9,-0x7adc(gp)
addiu t9,t9,-0x510c
bal 0x0003aef4
_sw zero,0x30(sp)
or a1,s1,zero
lw gp,0x28(sp)
lw t9,-0x7adc(gp)
addiu t9,t9,0x63f8
bal 0x000463f8
_or a0,s0,zero
lw gp,0x28(sp)
lw v1,0x34(sp)
lw v0,0x0(s3)
bne v1,v0,0x0003f3e8
_lw ra,0x54(sp)
lw s5,0x50(sp)
lw s4,0x4c(sp)
lw s3,0x48(sp)
lw s2,0x44(sp)
lw s1,0x40(sp)
lw s0,0x3c(sp)
jr ra
_addiu sp,sp,0x58
lw t9,-0x7a78(gp)
li a2,0x1
lw a3,0x8(s1)
li a1,0x1d
sw v0,0x18(sp)
li v0,0x4
addiu t9,t9,-0x6b2c
sw zero,0x20(sp)
sw s4,0x1c(sp)
or a0,s0,zero
sw s2,0x14(sp)
bal 0x000494d4
_sw v0,0x10(sp)
b 0x0003f37c
_lw gp,0x28(sp)
lw t9,-0x7498(gp)
jalr t9
_nop
(translation_unit "void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}\n\n" (function_definition "void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" primitive_type (function_declarator "ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)" identifier (parameter_list "(int *param_1,undefined *param_2,code *****param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "code *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code ****ppppcVar4;" type_identifier (pointer_declarator "****ppppcVar4" * (pointer_declarator "***ppppcVar4" * (pointer_declarator "**ppppcVar4" * (pointer_declarator "*ppppcVar4" * identifier)))) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *****pppppcVar10;" type_identifier (pointer_declarator "*****pppppcVar10" * (pointer_declarator "****pppppcVar10" * (pointer_declarator "***pppppcVar10" * (pointer_declarator "**pppppcVar10" * (pointer_declarator "*pppppcVar10" * identifier))))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "code *****pppppcVar17;" type_identifier (pointer_declarator "*****pppppcVar17" * (pointer_declarator "****pppppcVar17" * (pointer_declarator "***pppppcVar17" * (pointer_declarator "**pppppcVar17" * (pointer_declarator "*pppppcVar17" * identifier))))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "code *****pppppcVar23;" type_identifier (pointer_declarator "*****pppppcVar23" * (pointer_declarator "****pppppcVar23" * (pointer_declarator "***pppppcVar23" * (pointer_declarator "**pppppcVar23" * (pointer_declarator "*pppppcVar23" * identifier))))) ;) (declaration "code *****pppppcVar24;" type_identifier (pointer_declarator "*****pppppcVar24" * (pointer_declarator "****pppppcVar24" * (pointer_declarator "***pppppcVar24" * (pointer_declarator "**pppppcVar24" * (pointer_declarator "*pppppcVar24" * identifier))))) ;) (declaration "code *****unaff_s5;" type_identifier (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier))))) ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined1 auStack_a4 [4];" type_identifier (array_declarator "auStack_a4 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "code ***pppcStack_98;" type_identifier (pointer_declarator "***pppcStack_98" * (pointer_declarator "**pppcStack_98" * (pointer_declarator "*pppcStack_98" * identifier))) ;) (declaration "code ****ppppcStack_94;" type_identifier (pointer_declarator "****ppppcStack_94" * (pointer_declarator "***ppppcStack_94" * (pointer_declarator "**ppppcStack_94" * (pointer_declarator "*ppppcStack_94" * identifier)))) ;) (declaration "code ****ppppcStack_90;" type_identifier (pointer_declarator "****ppppcStack_90" * (pointer_declarator "***ppppcStack_90" * (pointer_declarator "**ppppcStack_90" * (pointer_declarator "*ppppcStack_90" * identifier)))) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "code ***pppcStack_88;" type_identifier (pointer_declarator "***pppcStack_88" * (pointer_declarator "**pppcStack_88" * (pointer_declarator "*pppcStack_88" * identifier))) ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "code ****ppppcStack_70;" type_identifier (pointer_declarator "****ppppcStack_70" * (pointer_declarator "***ppppcStack_70" * (pointer_declarator "**ppppcStack_70" * (pointer_declarator "*ppppcStack_70" * identifier)))) ;) (declaration "code ****ppppcStack_6c;" type_identifier (pointer_declarator "****ppppcStack_6c" * (pointer_declarator "***ppppcStack_6c" * (pointer_declarator "**ppppcStack_6c" * (pointer_declarator "*ppppcStack_6c" * identifier)))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;" (assignment_expression "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04" identifier = (cast_expression "(code *****)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar19 = *param_1;" (assignment_expression "iVar19 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_24 = *(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 "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" identifier = identifier) ;) (expression_statement "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);" (call_expression "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" identifier (argument_list "(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ba4" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar19 + 0x198) == 1" (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "pppppcVar24 = (code *****)param_1[2];" (assignment_expression "pppppcVar24 = (code *****)param_1[2]" identifier = (cast_expression "(code *****)param_1[2]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "FUN_000494d4(iVar19,0x1d);" (call_expression "FUN_000494d4(iVar19,0x1d)" identifier (argument_list "(iVar19,0x1d)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" else (compound_statement "{\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" { (expression_statement "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);" (assignment_expression "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" identifier = (cast_expression "(int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" identifier (argument_list "(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 0xd" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bc8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (code *****)host_strduptrim(param_2);" (assignment_expression "unaff_s5 = (code *****)host_strduptrim(param_2)" identifier = (cast_expression "(code *****)host_strduptrim(param_2)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "host_strduptrim(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "param_2 = PTR_LAB_000b2894 + -0x4dc4;" (assignment_expression "param_2 = PTR_LAB_000b2894 + -0x4dc4" identifier = (binary_expression "PTR_LAB_000b2894 + -0x4dc4" identifier + number_literal)) ;) (expression_statement "FUN_0003b23c(param_1,unaff_s5);" (call_expression "FUN_0003b23c(param_1,unaff_s5)" identifier (argument_list "(param_1,unaff_s5)" ( identifier , identifier ))) ;) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) (expression_statement "FUN_0003b1cc(param_1,param_3);" (call_expression "FUN_0003b1cc(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);" (call_expression "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bd8" identifier + number_literal) ))) ;) (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(param_1,&local_28);" (call_expression "FUN_0003aef4(param_1,&local_28)" identifier (argument_list "(param_1,&local_28)" ( identifier , (pointer_expression "&local_28" & identifier) ))) ;) (expression_statement "FUN_000463f8(iVar19,param_1);" (call_expression "FUN_000463f8(iVar19,param_1)" identifier (argument_list "(iVar19,param_1)" ( identifier , identifier ))) ;) }))) (if_statement "if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }" if (parenthesized_expression "((code ****)local_24 == *pppppcVar23)" ( (binary_expression "(code ****)local_24 == *pppppcVar23" (cast_expression "(code ****)local_24" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (pointer_expression "*pppppcVar23" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar26 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar26 = 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 "piVar21 = *(int **)(puVar26 + 0x73b10);" (assignment_expression "piVar21 = *(int **)(puVar26 + 0x73b10)" identifier = (pointer_expression "*(int **)(puVar26 + 0x73b10)" * (cast_expression "(int **)(puVar26 + 0x73b10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b10)" ( (binary_expression "puVar26 + 0x73b10" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = *(int **)(iVar11 + 0x1d0);" (assignment_expression "piVar20 = *(int **)(iVar11 + 0x1d0)" identifier = (pointer_expression "*(int **)(iVar11 + 0x1d0)" * (cast_expression "(int **)(iVar11 + 0x1d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1d0)" ( (binary_expression "iVar11 + 0x1d0" identifier + number_literal) ))))) ;) (expression_statement "puStack_74 = (undefined *)pppppcVar23;" (assignment_expression "puStack_74 = (undefined *)pppppcVar23" identifier = (cast_expression "(undefined *)pppppcVar23" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_84 = *piVar21;" (assignment_expression "iStack_84 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iStack_80 = iVar19;" (assignment_expression "iStack_80 = iVar19" identifier = identifier) ;) (expression_statement "piStack_7c = param_1;" (assignment_expression "piStack_7c = param_1" identifier = identifier) ;) (expression_statement "puStack_78 = param_2;" (assignment_expression "puStack_78 = param_2" identifier = identifier) ;) (expression_statement "ppppcStack_70 = (code ****)param_3;" (assignment_expression "ppppcStack_70 = (code ****)param_3" identifier = (cast_expression "(code ****)param_3" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppcStack_6c = (code ****)unaff_s5;" (assignment_expression "ppppcStack_6c = (code ****)unaff_s5" identifier = (cast_expression "(code ****)unaff_s5" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" { (expression_statement "iVar19 = *piVar20;" (assignment_expression "iVar19 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (if_statement "if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" if (parenthesized_expression "(iVar19 == 0x27b6)" ( (binary_expression "iVar19 == 0x27b6" identifier == number_literal) )) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003fae0;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5270" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = (cast_expression "(int)pppcStack_98" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0))" ( (binary_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" (parenthesized_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)))" ( (binary_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" (parenthesized_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6))" ( (binary_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)" (parenthesized_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U))" ( (binary_expression "(code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)" (cast_expression "(code ****)pppcStack_98" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(code ****)(piVar20[0x32] + 2U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(piVar20[0x32] + 2U)" ( (binary_expression "piVar20[0x32] + 2U" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) + number_literal) )))) )) || (parenthesized_expression "(*(code *)ppppcStack_94 != (code)0x6)" ( (binary_expression "*(code *)ppppcStack_94 != (code)0x6" (pointer_expression "*(code *)ppppcStack_94" * (cast_expression "(code *)ppppcStack_94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (cast_expression "(code)0x6" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "(piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" ( (binary_expression "piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) != (cast_expression "(int)(char)*(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)ppppcStack_94 + 1)" * (cast_expression "(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_94 + 1)" ( (binary_expression "(int)ppppcStack_94 + 1" (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ))) )) || (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" ( (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" identifier = (call_expression "(**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" ( (pointer_expression "**(code **)(puVar26 + 0x73af8)" * (pointer_expression "*(code **)(puVar26 + 0x73af8)" * (cast_expression "(code **)(puVar26 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73af8)" ( (binary_expression "puVar26 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" ( (cast_expression "(code *)((int)ppppcStack_94 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_94 + 2)" ( (binary_expression "(int)ppppcStack_94 + 2" (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5298" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" identifier = (cast_expression "(code *****)(piVar20 + 0x38)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20 + 0x38)" ( (binary_expression "piVar20 + 0x38" identifier + number_literal) )))) ;) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0xc))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0xc)" * (pointer_expression "*(code **)(piVar20[0x30] + 0xc)" * (cast_expression "(code **)(piVar20[0x30] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0xc)" ( (binary_expression "piVar20[0x30] + 0xc" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar11 + 0x6a4)" * (cast_expression "(undefined4 *)(iVar11 + 0x6a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a4)" ( (binary_expression "iVar11 + 0x6a4" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (if_statement "if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar19 == 3)" ( (binary_expression "iVar19 == 3" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52fc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x1c))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x1c)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x1c)" * (cast_expression "(code **)(piVar20[0x30] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x1c)" ( (binary_expression "piVar20[0x30] + 0x1c" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x31)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x31" identifier + number_literal) )))) ;) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) goto LAB_00042b98;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042b98;" goto statement_identifier ;)) (expression_statement "piVar20[0x34] = 0;" (assignment_expression "piVar20[0x34] = 0" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x35] = 0;" (assignment_expression "piVar20[0x35] = 0" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x36] = 0;" (assignment_expression "piVar20[0x36] = 0" (subscript_expression "piVar20[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x37] = 0;" (assignment_expression "piVar20[0x37] = 0" (subscript_expression "piVar20[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" identifier = (cast_expression "(code *****)piVar20[0x30]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0004138c:\n      iVar19 = piVar20[0x38];" statement_identifier : (expression_statement "iVar19 = piVar20[0x38];" (assignment_expression "iVar19 = piVar20[0x38]" identifier = (subscript_expression "piVar20[0x38]" identifier [ number_literal ])) ;)) (expression_statement "unaff_s5 = (code *****)pppppcVar23[5];" (assignment_expression "unaff_s5 = (code *****)pppppcVar23[5]" identifier = (cast_expression "(code *****)pppppcVar23[5]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppcVar23[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x28)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);" (assignment_expression "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" identifier = (call_expression "(*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" (parenthesized_expression "(*(code *)unaff_s5)" ( (pointer_expression "*(code *)unaff_s5" * (cast_expression "(code *)unaff_s5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" ( identifier , (binary_expression "piVar20 + 0x31" identifier + number_literal) , identifier , identifier , (binary_expression "piVar20 + 0x34" identifier + number_literal) , (binary_expression "piVar20 + 0x36" identifier + number_literal) )))) ;) (expression_statement "piVar20[0x39] = uVar8;" (assignment_expression "piVar20[0x39] = uVar8" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" if (parenthesized_expression "(uVar8 < 2)" ( (binary_expression "uVar8 < 2" identifier < number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5374" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" if (parenthesized_expression "(piVar20[0x36] != 0)" ( (binary_expression "piVar20[0x36] != 0" (subscript_expression "piVar20[0x36]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" { (expression_statement "pppppcVar23 = (code *****)FUN_0003b04c(0x3d);" (assignment_expression "pppppcVar23 = (code *****)FUN_0003b04c(0x3d)" identifier = (cast_expression "(code *****)FUN_0003b04c(0x3d)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_0003b04c(0x3d)" identifier (argument_list "(0x3d)" ( number_literal ))))) ;) (expression_statement "piVar20[0x2e] = (int)pppppcVar23;" (assignment_expression "piVar20[0x2e] = (int)pppppcVar23" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(pppppcVar23,&pppcStack_88,4);" (call_expression "FUN_0003aef4(pppppcVar23,&pppcStack_88,4)" identifier (argument_list "(pppppcVar23,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x36];" (assignment_expression "iVar6 = piVar20[0x36]" identifier = (subscript_expression "piVar20[0x36]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x37];" (assignment_expression "iVar15 = piVar20[0x37]" identifier = (subscript_expression "piVar20[0x37]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[6] = *pppppcVar23;" (assignment_expression "pppppcVar23[6] = *pppppcVar23" (subscript_expression "pppppcVar23[6]" identifier [ number_literal ]) = (pointer_expression "*pppppcVar23" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);" (call_expression "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x18))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x18)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x18)" * (cast_expression "(code **)(piVar20[0x30] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x18)" ( (binary_expression "piVar20[0x30] + 0x18" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x36)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x36" identifier + number_literal) ))) ;) })) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" { (labeled_statement "LAB_00042310:\n          *piVar20 = 0x2807;" statement_identifier : (expression_statement "*piVar20 = 0x2807;" (assignment_expression "*piVar20 = 0x2807" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" else (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5348" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x2c))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x2c)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x2c)" * (cast_expression "(code **)(piVar20[0x30] + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x2c)" ( (binary_expression "piVar20[0x30] + 0x2c" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x31]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) )))) ;) (if_statement "if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x33]);" (call_expression "safefree(piVar20[0x33])" identifier (argument_list "(piVar20[0x33])" ( (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) ))) ;) })) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" statement_identifier : (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)FUN_0003b04c(0);" (assignment_expression "piVar5 = (int *)FUN_0003b04c(0)" identifier = (cast_expression "(int *)FUN_0003b04c(0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "piVar20[0x2e] = (int)piVar5;" (assignment_expression "piVar20[0x2e] = (int)piVar5" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(piVar5,&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar5,&pppcStack_88,4)" identifier (argument_list "(piVar5,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0xe4)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar18 = *(int *)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (expression_statement "piVar5[6] = *piVar5;" (assignment_expression "piVar5[6] = *piVar5" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);" (call_expression "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2)" identifier (argument_list "(iVar19,iVar11 + 0xa4,uVar2)" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , identifier ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(0x32,ppppcStack_90._1_3_)" identifier (argument_list "(0x32,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1)" identifier (argument_list "(piVar20[0x2e],&ppppcStack_90,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_90" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e];" (assignment_expression "iVar19 = *(int *)piVar20[0x2e]" identifier = (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) ;) (expression_statement "pcVar27 = *(code **)(piVar20[0x30] + 0x24);" (assignment_expression "pcVar27 = *(code **)(piVar20[0x30] + 0x24)" identifier = (pointer_expression "*(code **)(piVar20[0x30] + 0x24)" * (cast_expression "(code **)(piVar20[0x30] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x24)" ( (binary_expression "piVar20[0x30] + 0x24" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;" (assignment_expression "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) = (binary_expression "((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ]) + identifier)) ;) (expression_statement "piVar20[0x32] = iVar19 - iVar6;" (assignment_expression "piVar20[0x32] = iVar19 - iVar6" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) = (binary_expression "iVar19 - iVar6" identifier - identifier)) ;) (expression_statement "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);" (call_expression "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x31]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" identifier = (cast_expression "(undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar15 + -0x4fb4))(0x42)" (parenthesized_expression "(*(code *)(iVar15 + -0x4fb4))" ( (pointer_expression "*(code *)(iVar15 + -0x4fb4)" * (cast_expression "(code *)(iVar15 + -0x4fb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x4fb4)" ( (binary_expression "iVar15 + -0x4fb4" identifier + number_literal) )))) )) (argument_list "(0x42)" ( number_literal ))))) ;) (expression_statement "piVar20[0x2e] = (int)puVar3;" (assignment_expression "piVar20[0x2e] = (int)puVar3" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);" (call_expression "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90)" (parenthesized_expression "(*(code *)(iVar18 + -0x4edc))" ( (pointer_expression "*(code *)(iVar18 + -0x4edc)" * (cast_expression "(code *)(iVar18 + -0x4edc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x4edc)" ( (binary_expression "iVar18 + -0x4edc" identifier + number_literal) )))) )) (argument_list "(iVar19,uStack_8c,ppppcStack_90)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);" (call_expression "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x28))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x28)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x28)" * (cast_expression "(code **)(piVar20[0x30] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x28)" ( (binary_expression "piVar20[0x30] + 0x28" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],&ppppcStack_90)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" identifier = (subscript_expression "piVar20[0x30]" identifier [ number_literal ])) ;) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00040d20;" goto statement_identifier ;) }))) (labeled_statement "LAB_00040d18:\n      iVar19 = piVar20[0x30];" statement_identifier : (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" identifier = (subscript_expression "piVar20[0x30]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" identifier = (cast_expression "(code *****)(piVar20 + 0x38)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20 + 0x38)" ( (binary_expression "piVar20 + 0x38" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);" (call_expression "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38)" (parenthesized_expression "(**(code **)(iVar19 + 0x10))" ( (pointer_expression "**(code **)(iVar19 + 0x10)" * (pointer_expression "*(code **)(iVar19 + 0x10)" * (cast_expression "(code **)(iVar19 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) ))))) )) (argument_list "(iVar19,piVar20 + 0x38)" ( identifier , (binary_expression "piVar20 + 0x38" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);" (call_expression "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x20))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x20)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x20)" * (cast_expression "(code **)(piVar20[0x30] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x20)" ( (binary_expression "piVar20[0x30] + 0x20" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x31)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x31" identifier + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" if (parenthesized_expression "(iVar19 < 0x27b7)" ( (binary_expression "iVar19 < 0x27b7" identifier < number_literal) )) (compound_statement "{\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" { (if_statement "if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" if (parenthesized_expression "(iVar19 == 0x2561)" ( (binary_expression "iVar19 == 0x2561" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040ca4;" goto statement_identifier ;) })) (if_statement "if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2561 < iVar19)" ( (binary_expression "0x2561 < iVar19" number_literal < identifier) )) (compound_statement "{\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" if (parenthesized_expression "(iVar19 == 0x2696)" ( (binary_expression "iVar19 == 0x2696" identifier == number_literal) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" { (labeled_statement "LAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);" statement_identifier : (expression_statement "uVar2 = dupprintf(iVar19 + 0x4d34);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x4d34)" identifier = (call_expression "dupprintf(iVar19 + 0x4d34)" identifier (argument_list "(iVar19 + 0x4d34)" ( (binary_expression "iVar19 + 0x4d34" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (0 < iVar15) goto LAB_00041768;" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (goto_statement "goto LAB_00041768;" goto statement_identifier ;)) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" identifier = (pointer_expression "*(code *****)(iVar11 + 0x254)" * (cast_expression "(code *****)(iVar11 + 0x254)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x254)" ( (binary_expression "iVar11 + 0x254" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x29] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x29] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar11 + 600)" * (cast_expression "(int *)(iVar11 + 600)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 600)" ( (binary_expression "iVar11 + 600" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" else (compound_statement "{\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" { (if_statement "if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" if (parenthesized_expression "(0x2696 < iVar19)" ( (binary_expression "0x2696 < iVar19" number_literal < identifier) )) (compound_statement "{\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" { (if_statement "if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(iVar19 == 0x26df)" ( (binary_expression "iVar19 == 0x26df" identifier == number_literal) )) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041ab0;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] == (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x516c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) == 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) == 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" identifier = (binary_expression "iVar11 + 0x110" identifier + number_literal)) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "unaff_s5 = (code *****)piVar20[0x19];" (assignment_expression "unaff_s5 = (code *****)piVar20[0x19]" identifier = (cast_expression "(code *****)piVar20[0x19]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x19]" identifier [ number_literal ]))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(unaff_s5)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar19,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(iVar19,unaff_s5,uVar2)" identifier (argument_list "(iVar19,unaff_s5,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x518c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;) })) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 2;" (assignment_expression "piVar20[1] = 2" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2703) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2703)" ( (binary_expression "iVar19 != 0x2703" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" { (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040240;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar19 == 0x25a0)" ( (binary_expression "iVar19 == 0x25a0" identifier == number_literal) )) (compound_statement "{\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" { (if_statement "if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003f828;" goto statement_identifier ;)) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2650) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2650)" ( (binary_expression "iVar19 != 0x2650" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040908;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb5c;" goto statement_identifier ;) })) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) != 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" { (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" identifier = (binary_expression "iVar11 + 0x110" identifier + number_literal)) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);" (call_expression "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27])" identifier (argument_list "(iVar19,piVar20[0x24],piVar20[0x27])" ( identifier , (subscript_expression "piVar20[0x24]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x27]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5108" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" identifier (argument_list "(1,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],unaff_s5,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],unaff_s5,1)" identifier (argument_list "(piVar20[0x2e],unaff_s5,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" identifier = (subscript_expression "piVar20[0x26]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" identifier = (subscript_expression "piVar20[0x23]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4edc)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4edc" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" identifier = (subscript_expression "piVar20[0x22]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" identifier = (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x28] = iVar19;" (assignment_expression "piVar20[0x28] = iVar19" (subscript_expression "piVar20[0x28]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }" if (parenthesized_expression "((uVar8 & 0x80) == 0)" ( (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" ( (binary_expression "uVar8 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar19 = iVar19 + 4;\n          }" { (expression_statement "iVar19 = iVar19 + 4;" (assignment_expression "iVar19 = iVar19 + 4" identifier = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n            piVar20[0x28] = iVar19 + -4;\n          }" else (compound_statement "{\n            piVar20[0x28] = iVar19 + -4;\n          }" { (expression_statement "piVar20[0x28] = iVar19 + -4;" (assignment_expression "piVar20[0x28] = iVar19 + -4" (subscript_expression "piVar20[0x28]" identifier [ number_literal ]) = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) }))) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73014);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73014)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73014)" * (cast_expression "(code **)(puVar26 + 0x73014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73014)" ( (binary_expression "puVar26 + 0x73014" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x25] + 5 + iVar19;" (assignment_expression "iVar19 = piVar20[0x25] + 5 + iVar19" identifier = (binary_expression "piVar20[0x25] + 5 + iVar19" (binary_expression "piVar20[0x25] + 5" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "piVar20[0x2a] = iVar19 + 4;" (assignment_expression "piVar20[0x2a] = iVar19 + 4" (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]) = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);" (assignment_expression "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1)" identifier = (cast_expression "(undefined1 *)(*pcVar27)(iVar19 + 8,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(iVar19 + 8,1)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 8,1)" ( (binary_expression "iVar19 + 8" identifier + number_literal) , number_literal ))))) ;) (expression_statement "piVar20[0x2c] = (int)puVar7;" (assignment_expression "piVar20[0x2c] = (int)puVar7" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar7 = *(undefined1 *)(piVar20 + 0x2a);" (assignment_expression "*puVar7 = *(undefined1 *)(piVar20 + 0x2a)" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*(undefined1 *)(piVar20 + 0x2a)" * (cast_expression "(undefined1 *)(piVar20 + 0x2a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x2a)" ( (binary_expression "piVar20 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);" (assignment_expression "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a)" (pointer_expression "*(char *)(piVar20[0x2c] + 1)" * (cast_expression "(char *)(piVar20[0x2c] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 1)" ( (binary_expression "piVar20[0x2c] + 1" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x2a)" * (cast_expression "(undefined2 *)(piVar20 + 0x2a)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x2a)" ( (binary_expression "piVar20 + 0x2a" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);" (assignment_expression "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8)" (pointer_expression "*(char *)(piVar20[0x2c] + 2)" * (cast_expression "(char *)(piVar20[0x2c] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 2)" ( (binary_expression "piVar20[0x2c] + 2" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x2a] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x2a] >> 8)" ( (binary_expression "(uint)piVar20[0x2a] >> 8" (cast_expression "(uint)piVar20[0x2a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x2a]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];" (assignment_expression "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a]" (pointer_expression "*(char *)(piVar20[0x2c] + 3)" * (cast_expression "(char *)(piVar20[0x2c] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 3)" ( (binary_expression "piVar20[0x2c] + 3" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x2a]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]))) ;) (expression_statement "piVar20[0x2b] = piVar20[0x2c] + 5;" (assignment_expression "piVar20[0x2b] = piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd;" (assignment_expression "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd" (pointer_expression "*(undefined1 *)(piVar20[0x2c] + 4)" * (cast_expression "(undefined1 *)(piVar20[0x2c] + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 4)" ( (binary_expression "piVar20[0x2c] + 4" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);" (assignment_expression "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25)" (pointer_expression "*(undefined1 *)piVar20[0x2b]" * (cast_expression "(undefined1 *)piVar20[0x2b]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]))) = (pointer_expression "*(undefined1 *)(piVar20 + 0x25)" * (cast_expression "(undefined1 *)(piVar20 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x25)" ( (binary_expression "piVar20 + 0x25" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x25)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x25)" * (cast_expression "(undefined2 *)(piVar20 + 0x25)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x25)" ( (binary_expression "piVar20 + 0x25" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x25] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x25] >> 8)" ( (binary_expression "(uint)piVar20[0x25] >> 8" (cast_expression "(uint)piVar20[0x25]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x25]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x25]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x2b] = iVar19 + 4;" (assignment_expression "piVar20[0x2b] = iVar19 + 4" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) (expression_statement "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);" (call_expression "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 4,piVar20[0x22],piVar20[0x25])" ( (binary_expression "iVar19 + 4" identifier + number_literal) , (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x2b] = iVar19 + piVar20[0x25];" (assignment_expression "piVar20[0x2b] = iVar19 + piVar20[0x25]" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "iVar19 + piVar20[0x25]" identifier + (subscript_expression "piVar20[0x25]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);" (assignment_expression "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28)" (pointer_expression "*(undefined1 *)(iVar19 + piVar20[0x25])" * (cast_expression "(undefined1 *)(iVar19 + piVar20[0x25])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + piVar20[0x25])" ( (binary_expression "iVar19 + piVar20[0x25]" identifier + (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) )))) = (pointer_expression "*(undefined1 *)(piVar20 + 0x28)" * (cast_expression "(undefined1 *)(piVar20 + 0x28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x28)" ( (binary_expression "piVar20 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x28)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x28)" * (cast_expression "(undefined2 *)(piVar20 + 0x28)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x28)" ( (binary_expression "piVar20 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x28] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x28] >> 8)" ( (binary_expression "(uint)piVar20[0x28] >> 8" (cast_expression "(uint)piVar20[0x28]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x28]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x28]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = piVar20[0x2b];" (assignment_expression "iVar15 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iVar15 + 4;" (assignment_expression "iVar19 = iVar15 + 4" identifier = (binary_expression "iVar15 + 4" identifier + number_literal)) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" if (parenthesized_expression "((uVar8 & 0x80) == 0)" ( (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" ( (binary_expression "uVar8 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" { (expression_statement "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*(undefined1 *)(iVar15 + 4)" * (cast_expression "(undefined1 *)(iVar15 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" * (cast_expression "(undefined1 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" * (cast_expression "(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "iVar19 = piVar20[0x2b] + 4;" (assignment_expression "iVar19 = piVar20[0x2b] + 4" identifier = (binary_expression "piVar20[0x2b] + 4" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *(int *)piVar20[0x2e];" (assignment_expression "iVar6 = *(int *)piVar20[0x2e]" identifier = (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) ;) (expression_statement "iVar15 = ((int *)piVar20[0x2e])[4];" (assignment_expression "iVar15 = ((int *)piVar20[0x2e])[4]" identifier = (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);" (call_expression "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19,iVar15 + 5,iVar6 + -5)" ( identifier , (binary_expression "iVar15 + 5" identifier + number_literal) , (binary_expression "iVar6 + -5" identifier + number_literal) ))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73030);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73030)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73030)" * (cast_expression "(code **)(puVar26 + 0x73030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73030)" ( (binary_expression "puVar26 + 0x73030" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);" (assignment_expression "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" identifier = (cast_expression "(undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" ( (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e] + -5" (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e]" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) + number_literal) )))) ;) (expression_statement "piVar20[0x2b] = (int)puVar7;" (assignment_expression "piVar20[0x2b] = (int)puVar7" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 1) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 1)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 2) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 2)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 3) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 3) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 3)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" identifier = (call_expression "(*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" ( (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) , (binary_expression "piVar20[0x2a] + 4" (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]) + number_literal) , identifier , (binary_expression "piVar20 + 0x29" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" * (cast_expression "(int *)(iVar11 + 0x6d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6d0)" ( (binary_expression "iVar11 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" { (labeled_statement "LAB_00041768:\n            *piVar20 = 0x2696;" statement_identifier : (expression_statement "*piVar20 = 0x2696;" (assignment_expression "*piVar20 = 0x2696" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) }))) (expression_statement "piVar20[0x2d] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x2d] = (int)ppppcStack_90" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "safefree(piVar20[0x2c]);" (call_expression "safefree(piVar20[0x2c])" identifier (argument_list "(piVar20[0x2c])" ( (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[0x2d];" (assignment_expression "iVar19 = piVar20[0x2d]" identifier = (subscript_expression "piVar20[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" { (labeled_statement "LAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" statement_identifier : (if_statement "if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" { (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" identifier = (subscript_expression "piVar20[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x20] = iVar15 + 1;" (assignment_expression "piVar20[0x20] = iVar15 + 1" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (if_statement "if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;" if (parenthesized_expression "(iVar15 + 1 < piVar20[0x21])" ( (binary_expression "iVar15 + 1 < piVar20[0x21]" (binary_expression "iVar15 + 1" identifier + number_literal) < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;)) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) }))) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" if (parenthesized_expression "((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e'))" ( (binary_expression "(piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')" (parenthesized_expression "(piVar20[0x29] < 9)" ( (binary_expression "piVar20[0x29] < 9" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) < number_literal) )) || (parenthesized_expression "(*(char *)(iVar19 + 4) != '\x0e')" ( (binary_expression "*(char *)(iVar19 + 4) != '\x0e'" (pointer_expression "*(char *)(iVar19 + 4)" * (cast_expression "(char *)(iVar19 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) )))) != (char_literal "'\x0e'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" else (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" if (parenthesized_expression "(*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U)" ( (binary_expression "*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U" (pointer_expression "*(uint *)(iVar19 + 5)" * (cast_expression "(uint *)(iVar19 + 5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 5)" ( (binary_expression "iVar19 + 5" identifier + number_literal) )))) <= (binary_expression "piVar20[0x29] - 9U" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5118" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" * (cast_expression "(undefined4 *)(iVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) , (binary_expression "piVar20[0x2d] + 9" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) + number_literal) , (pointer_expression "*(undefined4 *)(piVar20[0x2d] + 5)" * (cast_expression "(undefined4 *)(piVar20[0x2d] + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2d] + 5)" ( (binary_expression "piVar20[0x2d] + 5" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb5c;" goto statement_identifier ;) })) }))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(iVar15 + 0x5134)" ( (binary_expression "iVar15 + 0x5134" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" if (parenthesized_expression "(iVar19 == 0x246f)" ( (binary_expression "iVar19 == 0x246f" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00042034;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" ( (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x6" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_000400a0;" goto statement_identifier ;)) (expression_statement "piVar20[2] = 1;" (assignment_expression "piVar20[2] = 1" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe10;" goto statement_identifier ;) })) (if_statement "if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" if (parenthesized_expression "(iVar19 < 0x2470)" ( (binary_expression "iVar19 < 0x2470" identifier < number_literal) )) (compound_statement "{\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != 0) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (goto_statement "goto LAB_0003fd9c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" if (parenthesized_expression "(iVar19 == 0x247a)" ( (binary_expression "iVar19 == 0x247a" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000400f8;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" ( (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x6" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" { (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c44" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fe04;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x24d9) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x24d9)" ( (binary_expression "iVar19 != 0x24d9" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040040;" goto statement_identifier ;) })) (if_statement "if (0 < iVar15) goto LAB_00040ffc;" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (goto_statement "goto LAB_00040ffc;" goto statement_identifier ;)) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" identifier = (pointer_expression "*(code *****)(iVar11 + 0x254)" * (cast_expression "(code *****)(iVar11 + 0x254)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x254)" ( (binary_expression "iVar11 + 0x254" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x1e] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x1e] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x1e]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar11 + 600)" * (cast_expression "(int *)(iVar11 + 600)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 600)" ( (binary_expression "iVar11 + 600" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fbf0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" if (parenthesized_expression "(iVar19 == 0x2917)" ( (binary_expression "iVar19 == 0x2917" identifier == number_literal) )) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040220;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (labeled_statement "LAB_00040ef0:\n        iVar19 = piVar20[0x12];" statement_identifier : (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;)) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73a54);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73a54)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) ;) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = (*pcVar27)(iVar19);" (assignment_expression "uVar2 = (*pcVar27)(iVar19)" identifier = (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "safefree(piVar20[0x12]);" (call_expression "safefree(piVar20[0x12])" identifier (argument_list "(piVar20[0x12])" ( (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c00" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" else (compound_statement "{\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" { (if_statement "if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0x2918)" ( (binary_expression "iVar19 < 0x2918" identifier < number_literal) )) (compound_statement "{\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" { (if_statement "if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" if (parenthesized_expression "(iVar19 == 0x28a4)" ( (binary_expression "iVar19 == 0x28a4" identifier == number_literal) )) (compound_statement "{\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" { (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" else (compound_statement "{\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" { (if_statement "if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" if (parenthesized_expression "(iVar19 < 0x28a5)" ( (binary_expression "iVar19 < 0x28a5" identifier < number_literal) )) (compound_statement "{\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }" { (if_statement "if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" if (parenthesized_expression "(iVar19 == 0x2807)" ( (binary_expression "iVar19 == 0x2807" identifier == number_literal) )) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00042310;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3d)" ( (binary_expression "pppppcVar24[2] == (code ****)0x3d" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x3d" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" { (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = (cast_expression "(int)pppcStack_98" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" { (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" identifier = (cast_expression "(code *****)piVar20[0x30]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004138c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00041414;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5398" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x39] = 4;" (assignment_expression "piVar20[0x39] = 4" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00040d18;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x284b) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x284b)" ( (binary_expression "iVar19 != 0x284b" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0004072c;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 7;" (assignment_expression "piVar20[1] = 7" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xc] = 1;" (assignment_expression "piVar20[0xc] = 1" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" else (compound_statement "{\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" { (if_statement "if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" if (parenthesized_expression "(iVar19 != 0x28ca)" ( (binary_expression "iVar19 != 0x28ca" identifier != number_literal) )) (compound_statement "{\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" { (if_statement "if (iVar19 != 0x28e8) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x28e8)" ( (binary_expression "iVar19 != 0x28e8" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" { (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040118;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041954;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar27 = (code *)(iVar19 + 0x7704);" (assignment_expression "pcVar27 = (code *)(iVar19 + 0x7704)" identifier = (cast_expression "(code *)(iVar19 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7704)" ( (binary_expression "iVar19 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);" (call_expression "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0)" identifier (argument_list "(pppppcVar24,&uStack_ac,&iStack_a0)" ( identifier , (pointer_expression "&uStack_ac" & identifier) , (pointer_expression "&iStack_a0" & identifier) ))) ;) (expression_statement "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);" (call_expression "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,&uStack_a8,&iStack_9c)" ( identifier , (pointer_expression "&uStack_a8" & identifier) , (pointer_expression "&iStack_9c" & identifier) ))) ;) (expression_statement "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);" (call_expression "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,auStack_a4,&pppcStack_98)" ( identifier , identifier , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "piVar20[0x10] = iVar19;" (assignment_expression "piVar20[0x10] = iVar19" (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" { (expression_statement "iVar6 = *(int *)(puVar26 + 0x72fa4);" (assignment_expression "iVar6 = *(int *)(puVar26 + 0x72fa4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fa4)" * (cast_expression "(int *)(puVar26 + 0x72fa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fa4)" ( (binary_expression "puVar26 + 0x72fa4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);" do (compound_statement "{\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            }" { (expression_statement "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);" (call_expression "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,&ppppcStack_94,unaff_s5)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , identifier ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" identifier = (subscript_expression "pppppcVar24[6]" identifier [ number_literal ])) ;) (if_statement "if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" if (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" ( (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppcVar24" * identifier)) - (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) (compound_statement "{\n                bVar22 = false;\n              }" { (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) }) (else_clause "else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" else (compound_statement "{\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" { (expression_statement "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" identifier = (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" * (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" ( (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar24[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (cast_expression "(code ****)((int)ppppcVar4 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar4 + 1)" ( (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar22 = cVar1 != '\0';" (assignment_expression "bVar22 = cVar1 != '\0'" identifier = (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) }))) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" if (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" { (expression_statement "ppppcStack_90 = (code ****)&DAT_00000020;" (assignment_expression "ppppcStack_90 = (code ****)&DAT_00000020" identifier = (cast_expression "(code ****)&DAT_00000020" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000020" & identifier))) ;) (expression_statement "ppppcStack_94 = (code ****)(iVar6 + 0x2280);" (assignment_expression "ppppcStack_94 = (code ****)(iVar6 + 0x2280)" identifier = (cast_expression "(code ****)(iVar6 + 0x2280)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar6 + 0x2280)" ( (binary_expression "iVar6 + 0x2280" identifier + number_literal) )))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = piVar20[0xf];" (assignment_expression "iVar18 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" ( (binary_expression "iVar19 + 0x5428" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);" (call_expression "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(iVar18,uVar2,bVar22)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar15 < piVar20[0x10])" ( (binary_expression "iVar15 < piVar20[0x10]" identifier < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) ;) })) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" if (parenthesized_expression "(iStack_a0 == 0)" ( (binary_expression "iStack_a0 == 0" identifier == number_literal) )) (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }" { (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" identifier = (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5430)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5430" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 8)" * (cast_expression "(undefined4 *)(iVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" else (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" { (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" identifier = (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x541c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 8)" * (cast_expression "(undefined4 *)(iVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" if (parenthesized_expression "(piVar20[0x10] == 0 && iStack_a0 == 0)" ( (binary_expression "piVar20[0x10] == 0 && iStack_a0 == 0" (binary_expression "piVar20[0x10] == 0" (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) == number_literal) && (binary_expression "iStack_a0 == 0" identifier == number_literal)) )) (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" { (labeled_statement "LAB_00042638:\n              iVar15 = iVar15 + 0x71dc;" statement_identifier : (expression_statement "iVar15 = iVar15 + 0x71dc;" (assignment_expression "iVar15 = iVar15 + 0x71dc" identifier = (binary_expression "iVar15 + 0x71dc" identifier + number_literal)) ;)) (goto_statement "goto LAB_000422b4;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" * (cast_expression "(undefined4 *)(iVar19 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" else (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) goto LAB_00042638;" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042638;" goto statement_identifier ;)) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" statement_identifier : (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x544c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;)) (expression_statement "*(undefined4 *)(iVar19 + 0xc) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0xc) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0xc)" * (cast_expression "(undefined4 *)(iVar19 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" * (cast_expression "(undefined4 *)(iVar19 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(iVar19,0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,0)" ( identifier , number_literal , number_literal )))) ;) }))) (if_statement "if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" { (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00040b04;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_0003b04c(0x3d);" (assignment_expression "iVar19 = FUN_0003b04c(0x3d)" identifier = (call_expression "FUN_0003b04c(0x3d)" identifier (argument_list "(0x3d)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b1cc(iVar19,piVar20[0x10]);" (call_expression "FUN_0003b1cc(iVar19,piVar20[0x10])" identifier (argument_list "(iVar19,piVar20[0x10])" ( identifier , (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" if (parenthesized_expression "(0 < piVar20[0x10])" ( (binary_expression "0 < piVar20[0x10]" number_literal < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) (compound_statement "{\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4dc4" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);" do (compound_statement "{\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          }" { (expression_statement "iVar15 = iVar19 * 4;" (assignment_expression "iVar15 = iVar19 * 4" identifier = (binary_expression "iVar19 * 4" identifier * number_literal)) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" identifier (argument_list "(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" ( (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" * (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + iVar15)" ( (binary_expression "*(int *)(piVar20[0xf] + 0x18) + iVar15" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" * (cast_expression "(int *)(piVar20[0xf] + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) )))) + identifier) )))) + number_literal) )))) ))) ;) }) while (parenthesized_expression "(iVar19 < piVar20[0x10])" ( (binary_expression "iVar19 < piVar20[0x10]" identifier < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) ;) })) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_00041954:\n        *piVar20 = 0x28ca;" statement_identifier : (expression_statement "*piVar20 = 0x28ca;" (assignment_expression "*piVar20 = 0x28ca" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" if (parenthesized_expression "(iVar19 == 0x2a03)" ( (binary_expression "iVar19 == 0x2a03" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040660;" goto statement_identifier ;)) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(1 < (int)ppppcVar4 - 0x5bU)" ( (binary_expression "1 < (int)ppppcVar4 - 0x5bU" number_literal < (binary_expression "(int)ppppcVar4 - 0x5bU" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5618" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "iVar15 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar15 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(iVar19 != *(int *)(iVar15 + 8))" ( (binary_expression "iVar19 != *(int *)(iVar15 + 8)" identifier != (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5660)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5660" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x5c)" ( (binary_expression "pppppcVar24[2] == (code ****)0x5c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x5c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" { (expression_statement "uVar2 = FUN_00038814(pppppcVar24);" (assignment_expression "uVar2 = FUN_00038814(pppppcVar24)" identifier = (call_expression "FUN_00038814(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "FUN_0003822c(iVar11,uVar14);" (call_expression "FUN_0003822c(iVar11,uVar14)" identifier (argument_list "(iVar11,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00041054;" goto statement_identifier ;) })) (expression_statement "uVar2 = FUN_00036be8(pppppcVar24);" (assignment_expression "uVar2 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "iVar6 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar6 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 4) = uVar2;" (assignment_expression "*(undefined4 *)(iVar15 + 4) = uVar2" (pointer_expression "*(undefined4 *)(iVar15 + 4)" * (cast_expression "(undefined4 *)(iVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" identifier = (call_expression "FUN_00036be8()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x2c) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x2c) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x2c)" * (cast_expression "(undefined4 *)(iVar6 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c)" ( (binary_expression "iVar6 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" identifier = (call_expression "FUN_00036be8()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7348c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7348c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7348c)" * (cast_expression "(code **)(puVar26 + 0x7348c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7348c)" ( (binary_expression "puVar26 + 0x7348c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x30) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0x30) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0x30)" * (cast_expression "(undefined4 *)(iVar19 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x30)" ( (binary_expression "iVar19 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar27)(uVar14);" (call_expression "(*pcVar27)(uVar14)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar14)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ff14;" goto statement_identifier ;) })) (if_statement "if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2a03 < iVar19)" ( (binary_expression "0x2a03 < iVar19" number_literal < identifier) )) (compound_statement "{\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" if (parenthesized_expression "(iVar19 != 0x2a90)" ( (binary_expression "iVar19 != 0x2a90" identifier != number_literal) )) (compound_statement "{\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" { (if_statement "if (iVar19 != 0x2abd) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2abd)" ( (binary_expression "iVar19 != 0x2abd" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" { (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5808" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;" if (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;)) (expression_statement "FUN_00048f30();" (call_expression "FUN_00048f30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041870;" goto statement_identifier ;)) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x63)" ( (binary_expression "ppppcVar4 == (code ****)0x63" identifier == (cast_expression "(code ****)0x63" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ffec;" goto statement_identifier ;) })) (if_statement "if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(ppppcVar4 != (code ****)0x64)" ( (binary_expression "ppppcVar4 != (code ****)0x64" identifier != (cast_expression "(code ****)0x64" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x575c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" if (parenthesized_expression "((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'))" ( (binary_expression "(*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" * (cast_expression "(int *)(iVar11 + 0x174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" ( (comma_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x15)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) , (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x579c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x174) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x174) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x174)" * (cast_expression "(undefined4 *)(iVar11 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0004261c;" goto statement_identifier ;) })) (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" if (parenthesized_expression "(iVar19 == 0x2956)" ( (binary_expression "iVar19 == 0x2956" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0003f648;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2999) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2999)" ( (binary_expression "iVar19 != 0x2999" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003f784;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_00040ef0;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4be0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2)" identifier (argument_list "(iVar11 + 0x110,iVar19,uVar2)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppcVar17 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar17 = (code *****)ppppcStack_94" identifier = (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" if (parenthesized_expression "((code *****)ppppcStack_94 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_94 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" { (expression_statement "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);" (assignment_expression "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;" (assignment_expression "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" identifier = (cast_expression "(code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5428" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[3] = ppppcVar4;" (assignment_expression "pppppcVar23[3] = ppppcVar4" (subscript_expression "pppppcVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar15 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar15 + 0x10)" * (cast_expression "(undefined4 *)(iVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = dupstr(iVar19 + 0x54b8);" (assignment_expression "uVar2 = dupstr(iVar19 + 0x54b8)" identifier = (call_expression "dupstr(iVar19 + 0x54b8)" identifier (argument_list "(iVar19 + 0x54b8)" ( (binary_expression "iVar19 + 0x54b8" identifier + number_literal) )))) ;) (expression_statement "add_prompt(iVar15,uVar2,0);" (call_expression "add_prompt(iVar15,uVar2,0)" identifier (argument_list "(iVar15,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54f4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" identifier (argument_list "(iVar19,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x550c)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x550c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" identifier (argument_list "(iVar19,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (while_statement "while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" ( (pointer_expression "**(code **)(puVar26 + 0x7306c)" * (pointer_expression "*(code **)(puVar26 + 0x7306c)" * (cast_expression "(code **)(puVar26 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7306c)" ( (binary_expression "puVar26 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar15 = piVar20[0x12];" (assignment_expression "iVar15 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x72fdc);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x72fdc)" identifier = (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040b08;" goto statement_identifier ;) })) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" if (parenthesized_expression "(**(char **)(*piVar5 + 8) != '\0')" ( (binary_expression "**(char **)(*piVar5 + 8) != '\0'" (pointer_expression "**(char **)(*piVar5 + 8)" * (pointer_expression "*(char **)(*piVar5 + 8)" * (cast_expression "(char **)(*piVar5 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" { (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" ( (pointer_expression "**(code **)(puVar26 + 0x7306c)" * (pointer_expression "*(code **)(puVar26 + 0x7306c)" * (cast_expression "(code **)(puVar26 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7306c)" ( (binary_expression "puVar26 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12])" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x12])" ( (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b4c))" ( (pointer_expression "**(code **)(puVar26 + 0x73b4c)" * (pointer_expression "*(code **)(puVar26 + 0x73b4c)" * (cast_expression "(code **)(puVar26 + 0x73b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b4c)" ( (binary_expression "puVar26 + 0x73b4c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" ( (pointer_expression "*(undefined4 *)(piVar5[1] + 8)" * (cast_expression "(undefined4 *)(piVar5[1] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[1] + 8)" ( (binary_expression "piVar5[1] + 8" (subscript_expression "piVar5[1]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar5[2] + 8)" * (cast_expression "(undefined4 *)(piVar5[2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[2] + 8)" ( (binary_expression "piVar5[2] + 8" (subscript_expression "piVar5[2]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5524" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13(1,pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13(1,pppcStack_98._1_3_)" identifier (argument_list "(1,pppcStack_98._1_3_)" ( number_literal , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" identifier (argument_list "(piVar20[0x2e],piVar20[0x12])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" ( (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" * (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + 4)" ( (binary_expression "*(int *)(piVar20[0xf] + 0x18) + 4" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" * (cast_expression "(int *)(piVar20[0xf] + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "free_prompts(piVar20[0xf]);" (call_expression "free_prompts(piVar20[0xf])" identifier (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5540" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0003f784:\n    *piVar20 = 0x2999;" statement_identifier : (expression_statement "*piVar20 = 0x2999;" (assignment_expression "*piVar20 = 0x2999" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar20 = (int *)safemalloc(1,0xe8);" (assignment_expression "piVar20 = (int *)safemalloc(1,0xe8)" identifier = (cast_expression "(int *)safemalloc(1,0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xe8)" identifier (argument_list "(1,0xe8)" ( number_literal , number_literal ))))) ;) (expression_statement "*(int **)(iVar11 + 0x1d0) = piVar20;" (assignment_expression "*(int **)(iVar11 + 0x1d0) = piVar20" (pointer_expression "*(int **)(iVar11 + 0x1d0)" * (cast_expression "(int **)(iVar11 + 0x1d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1d0)" ( (binary_expression "iVar11 + 0x1d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" identifier = identifier) ;) (labeled_statement "LAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);" statement_identifier : (expression_statement "iVar19 = *(int *)(iVar11 + 0xec);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0xec)" identifier = (pointer_expression "*(int *)(iVar11 + 0xec)" * (cast_expression "(int *)(iVar11 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xec)" ( (binary_expression "iVar11 + 0xec" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = iVar15 + 0xae0;" (assignment_expression "iVar15 = iVar15 + 0xae0" identifier = (binary_expression "iVar15 + 0xae0" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x288) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x288) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x288)" * (cast_expression "(int *)(iVar11 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x288)" ( (binary_expression "iVar11 + 0x288" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x338) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x338) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x338)" * (cast_expression "(int *)(iVar11 + 0x338)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x338)" ( (binary_expression "iVar11 + 0x338" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x33c) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x33c) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x33c)" * (cast_expression "(int *)(iVar11 + 0x33c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x33c)" ( (binary_expression "iVar11 + 0x33c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x340) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x340) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x340)" * (cast_expression "(int *)(iVar11 + 0x340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x340)" ( (binary_expression "iVar11 + 0x340" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x344) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x344) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x344)" * (cast_expression "(int *)(iVar11 + 0x344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x360) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x360) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x360)" * (cast_expression "(int *)(iVar11 + 0x360)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x360)" ( (binary_expression "iVar11 + 0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x364) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x364) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x364)" * (cast_expression "(int *)(iVar11 + 0x364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x364)" ( (binary_expression "iVar11 + 0x364" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b0)" * (cast_expression "(int *)(iVar11 + 0x3b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b0)" ( (binary_expression "iVar11 + 0x3b0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b4)" * (cast_expression "(int *)(iVar11 + 0x3b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b4)" ( (binary_expression "iVar11 + 0x3b4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b8)" * (cast_expression "(int *)(iVar11 + 0x3b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b8)" ( (binary_expression "iVar11 + 0x3b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3d8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3d8)" * (cast_expression "(int *)(iVar11 + 0x3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3d8)" ( (binary_expression "iVar11 + 0x3d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3dc) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3dc)" * (cast_expression "(int *)(iVar11 + 0x3dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3dc)" ( (binary_expression "iVar11 + 0x3dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3e0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e0)" * (cast_expression "(int *)(iVar11 + 0x3e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e0)" ( (binary_expression "iVar11 + 0x3e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3e4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e4)" * (cast_expression "(int *)(iVar11 + 0x3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e4)" ( (binary_expression "iVar11 + 0x3e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 1000) = iVar15;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15" (pointer_expression "*(int *)(iVar11 + 1000)" * (cast_expression "(int *)(iVar11 + 1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1000)" ( (binary_expression "iVar11 + 1000" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3ec)" * (cast_expression "(int *)(iVar11 + 0x3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3ec)" ( (binary_expression "iVar11 + 0x3ec" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f0)" * (cast_expression "(int *)(iVar11 + 0x3f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f0)" ( (binary_expression "iVar11 + 0x3f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3f4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f4)" * (cast_expression "(int *)(iVar11 + 0x3f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f4)" ( (binary_expression "iVar11 + 0x3f4" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar20[2] = 0;" (assignment_expression "piVar20[2] = 0" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xe] = 0;" (assignment_expression "piVar20[0xe] = 0" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xb] = 0;" (assignment_expression "piVar20[0xb] = 0" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x23)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" identifier = (call_expression "FUN_0003b04c(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c24" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_00042034:\n      *piVar20 = 0x246f;" statement_identifier : (expression_statement "*piVar20 = 0x246f;" (assignment_expression "*piVar20 = 0x246f" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar20[2] == 0)" ( (binary_expression "piVar20[2] == 0" (subscript_expression "piVar20[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" identifier = (call_expression "FUN_0003b04c(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_000400f8:\n      *piVar20 = 0x247a;" statement_identifier : (expression_statement "*piVar20 = 0x247a;" (assignment_expression "*piVar20 = 0x247a" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) }) (else_clause "else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" else (compound_statement "{\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" { (labeled_statement "LAB_0003fe04:\n    piVar20[0xd] = 1;" statement_identifier : (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);" statement_identifier : (expression_statement "bufchain_init(iVar11 + 0x178);" (call_expression "bufchain_init(iVar11 + 0x178)" identifier (argument_list "(iVar11 + 0x178)" ( (binary_expression "iVar11 + 0x178" identifier + number_literal) ))) ;)) (expression_statement "iVar19 = piVar20[0xd];" (assignment_expression "iVar19 = piVar20[0xd]" identifier = (subscript_expression "piVar20[0xd]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;" (assignment_expression "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(iVar11 + 0x344)" * (cast_expression "(int *)(iVar11 + 0x344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" { (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73554);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73554)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73554)" * (cast_expression "(code **)(puVar26 + 0x73554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73554)" ( (binary_expression "puVar26 + 0x73554" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar27)(iVar19);" (assignment_expression "iVar19 = (*pcVar27)(iVar19)" identifier = (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier )))) ;) (if_statement "if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73564))" ( (pointer_expression "**(code **)(puVar26 + 0x73564)" * (pointer_expression "*(code **)(puVar26 + 0x73564)" * (cast_expression "(code **)(puVar26 + 0x73564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73564)" ( (binary_expression "puVar26 + 0x73564" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" if (parenthesized_expression "(iVar19 == 3)" ( (binary_expression "iVar19 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" ( (pointer_expression "**(code **)(puVar26 + 0x7356c)" * (pointer_expression "*(code **)(puVar26 + 0x7356c)" * (cast_expression "(code **)(puVar26 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7356c)" ( (binary_expression "puVar26 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x18" identifier + number_literal) , (binary_expression "piVar20 + 0x15" identifier + number_literal) , (binary_expression "piVar20 + 0x19" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) )))) ;) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 == 0) goto LAB_000424c4;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000424c4;" goto statement_identifier ;)) (expression_statement "piVar20[0x16] = 1;" (assignment_expression "piVar20[0x16] = 1" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" statement_identifier : (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73574))" ( (pointer_expression "**(code **)(puVar26 + 0x73574)" * (pointer_expression "*(code **)(puVar26 + 0x73574)" * (cast_expression "(code **)(puVar26 + 0x73574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73574)" ( (binary_expression "puVar26 + 0x73574" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],0)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , number_literal )))) ;)) (expression_statement "piVar20[0x17] = iVar19;" (assignment_expression "piVar20[0x17] = iVar19" (subscript_expression "piVar20[0x17]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" else (if_statement "if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" if (parenthesized_expression "(iVar19 - 9U < 2)" ( (binary_expression "iVar19 - 9U < 2" (binary_expression "iVar19 - 9U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" ( (pointer_expression "**(code **)(puVar26 + 0x7356c)" * (pointer_expression "*(code **)(puVar26 + 0x7356c)" * (cast_expression "(code **)(puVar26 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7356c)" ( (binary_expression "puVar26 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x18" identifier + number_literal) , (binary_expression "piVar20 + 0x15" identifier + number_literal) , (binary_expression "piVar20 + 0x19" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) )))) ;) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x16] = 0;" (assignment_expression "piVar20[0x16] = 0" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x582c);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x582c)" identifier (argument_list "(iVar11,iVar19 + 0x582c)" ( identifier , (binary_expression "iVar19 + 0x582c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004292c;" goto statement_identifier ;) })) (labeled_statement "LAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" statement_identifier : (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c80" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c98" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) }) (else_clause "else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" else (compound_statement "{\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" ( (pointer_expression "**(code **)(puVar26 + 0x73568)" * (pointer_expression "*(code **)(puVar26 + 0x73568)" * (cast_expression "(code **)(puVar26 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73568)" ( (binary_expression "puVar26 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4cc0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" ( (pointer_expression "**(code **)(puVar26 + 0x73568)" * (pointer_expression "*(code **)(puVar26 + 0x73568)" * (cast_expression "(code **)(puVar26 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73568)" ( (binary_expression "puVar26 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ce4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = number_literal) ;) }))))) })) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1f] = 0;" (assignment_expression "piVar20[0x1f] = 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x1c);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x1c)" identifier = (call_expression "(*pcVar27)(uVar2,0x1c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x1c)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;" if (parenthesized_expression "((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))" ( (binary_expression "(iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" ( (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73524))()" identifier = (call_expression "(**(code **)(puVar26 + 0x73524))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73524))" ( (pointer_expression "**(code **)(puVar26 + 0x73524)" * (pointer_expression "*(code **)(puVar26 + 0x73524)" * (cast_expression "(code **)(puVar26 + 0x73524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73524)" ( (binary_expression "puVar26 + 0x73524" identifier + number_literal) ))))) )) (argument_list "()" ( )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d0c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x1a] = 1;" (assignment_expression "piVar20[0x1a] = 1" (subscript_expression "piVar20[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20 + 0x1b) = 0xb;" (assignment_expression "*(undefined1 *)(piVar20 + 0x1b) = 0xb" (pointer_expression "*(undefined1 *)(piVar20 + 0x1b)" * (cast_expression "(undefined1 *)(piVar20 + 0x1b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x1b)" ( (binary_expression "piVar20 + 0x1b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" identifier = (call_expression "(**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(**(code **)(puVar26 + 0x73030))" ( (pointer_expression "**(code **)(puVar26 + 0x73030)" * (pointer_expression "*(code **)(puVar26 + 0x73030)" * (cast_expression "(code **)(puVar26 + 0x73030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73030)" ( (binary_expression "puVar26 + 0x73030" identifier + number_literal) ))))) )) (argument_list "(piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" ( (binary_expression "piVar20 + 0x1a" identifier + number_literal) , number_literal , (pointer_expression "&ppppcStack_90" & identifier) , (binary_expression "piVar20 + 0x1e" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" * (cast_expression "(int *)(iVar11 + 0x6d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6d0)" ( (binary_expression "iVar11 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" { (labeled_statement "LAB_00040ffc:\n    *piVar20 = 0x24d9;" statement_identifier : (expression_statement "*piVar20 = 0x24d9;" (assignment_expression "*piVar20 = 0x24d9" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;" statement_identifier : (expression_statement "pppppcVar24 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "piVar20[0x1c] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x1c] = (int)ppppcStack_90" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" if (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }" { (labeled_statement "LAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" else (compound_statement "{\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" if (parenthesized_expression "(4 < piVar20[0x1e])" ( (binary_expression "4 < piVar20[0x1e]" number_literal < (subscript_expression "piVar20[0x1e]" identifier [ number_literal ])) )) (compound_statement "{\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" { (if_statement "if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" if (parenthesized_expression "(*(code *)(ppppcStack_90 + 1) == (code)0xc)" ( (binary_expression "*(code *)(ppppcStack_90 + 1) == (code)0xc" (pointer_expression "*(code *)(ppppcStack_90 + 1)" * (cast_expression "(code *)(ppppcStack_90 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcStack_90 + 1)" ( (binary_expression "ppppcStack_90 + 1" identifier + number_literal) )))) == (cast_expression "(code)0xc" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)ppppcStack_90 + 5))" ( (pointer_expression "*(undefined4 *)((int)ppppcStack_90 + 5)" * (cast_expression "(undefined4 *)((int)ppppcStack_90 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_90 + 5)" ( (binary_expression "(int)ppppcStack_90 + 5" (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "piVar20[0x21] = iVar19;" (assignment_expression "piVar20[0x21] = iVar19" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }" { (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" else (compound_statement "{\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" { (expression_statement "pppppcVar24 = (code *****)((int)pppppcVar24 + 9);" (assignment_expression "pppppcVar24 = (code *****)((int)pppppcVar24 + 9)" identifier = (cast_expression "(code *****)((int)pppppcVar24 + 9)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar24 + 9)" ( (binary_expression "(int)pppppcVar24 + 9" (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)(piVar20[0x1e] + -9);" (assignment_expression "pppppcVar23 = (code *****)(piVar20[0x1e] + -9)" identifier = (cast_expression "(code *****)(piVar20[0x1e] + -9)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20[0x1e] + -9)" ( (binary_expression "piVar20[0x1e] + -9" (subscript_expression "piVar20[0x1e]" identifier [ number_literal ]) + number_literal) )))) ;) (if_statement "if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }" { (labeled_statement "LAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4dc8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" if (parenthesized_expression "(piVar20[0x14] != 0)" ( (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" { (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" if (parenthesized_expression "(0 < piVar20[0x21])" ( (binary_expression "0 < piVar20[0x21]" number_literal < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) (compound_statement "{\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" { (do_statement "do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);" do (compound_statement "{\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24)" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar24)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*pppppcVar24)" ( (pointer_expression "*pppppcVar24" * identifier) )))) ;) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" if (parenthesized_expression "((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0))" ( (binary_expression "(iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" (parenthesized_expression "(iVar19 == piVar20[0x15])" ( (binary_expression "iVar19 == piVar20[0x15]" identifier == (subscript_expression "piVar20[0x15]" identifier [ number_literal ])) )) && (parenthesized_expression "(iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" ( (comma_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" ( (pointer_expression "**(code **)(puVar26 + 0x73af8)" * (pointer_expression "*(code **)(puVar26 + 0x73af8)" * (cast_expression "(code **)(puVar26 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73af8)" ( (binary_expression "puVar26 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar24 + 1,piVar20[0x14],iVar19)" ( (binary_expression "pppppcVar24 + 1" identifier + number_literal) , (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" { (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4de4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "piVar20[0x20] = (int)unaff_s5;" (assignment_expression "piVar20[0x20] = (int)unaff_s5" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x1f] = (int)pppppcVar24;" (assignment_expression "piVar20[0x1f] = (int)pppppcVar24" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) = (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" identifier = (cast_expression "(code *****)((int)unaff_s5 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);" (assignment_expression "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4)" identifier = (cast_expression "(code *)((int)pppppcVar24 + iVar19 + 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24 + iVar19 + 4)" ( (binary_expression "(int)pppppcVar24 + iVar19 + 4" (binary_expression "(int)pppppcVar24 + iVar19" (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pcVar27)" ( (pointer_expression "*(undefined4 *)pcVar27" * (cast_expression "(undefined4 *)pcVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);" (assignment_expression "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4)" identifier = (cast_expression "(code *****)(pcVar27 + iVar19 + 4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(pcVar27 + iVar19 + 4)" ( (binary_expression "pcVar27 + iVar19 + 4" (binary_expression "pcVar27 + iVar19" identifier + identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)unaff_s5 < piVar20[0x21])" ( (binary_expression "(int)unaff_s5 < piVar20[0x21]" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) ;) })) (if_statement "if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) })) })) }) (else_clause "else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" else (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" if (parenthesized_expression "(3 < (int)pppppcVar23)" ( (binary_expression "3 < (int)pppppcVar23" number_literal < (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" { (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppcVar17 = pppppcVar24;" (assignment_expression "pppppcVar17 = pppppcVar24" identifier = identifier) ;) (do_statement "do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);" do (compound_statement "{\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              }" { (expression_statement "pppppcVar23 = pppppcVar23 + -1;" (assignment_expression "pppppcVar23 = pppppcVar23 + -1" identifier = (binary_expression "pppppcVar23 + -1" identifier + number_literal)) ;) (expression_statement "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);" (assignment_expression "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" identifier = (cast_expression "(code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*pppppcVar17)" ( (pointer_expression "*pppppcVar17" * identifier) ))))) ;) (if_statement "if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" if (parenthesized_expression "(pppppcVar23 < pppppcVar10)" ( (binary_expression "pppppcVar23 < pppppcVar10" identifier < identifier) )) (compound_statement "{\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" { (labeled_statement "LAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) (break_statement "break;" break ;) })) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" identifier = (cast_expression "(code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar23 + (-4 - (int)pppppcVar10))" ( (binary_expression "(int)pppppcVar23 + (-4 - (int)pppppcVar10)" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-4 - (int)pppppcVar10)" ( (binary_expression "-4 - (int)pppppcVar10" number_literal - (cast_expression "(int)pppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" ( (pointer_expression "*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" * (cast_expression "(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pppppcVar10 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppcVar10 + 1)" ( (binary_expression "pppppcVar10 + 1" identifier + number_literal) )))) )))) )))) ;) (if_statement "if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;" if (parenthesized_expression "((iVar15 < 0) || ((int)pppppcVar23 < iVar15))" ( (binary_expression "(iVar15 < 0) || ((int)pppppcVar23 < iVar15)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)pppppcVar23 < iVar15)" ( (binary_expression "(int)pppppcVar23 < iVar15" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (goto_statement "goto LAB_00042a68;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar20[0x21];" (assignment_expression "iVar19 = piVar20[0x21]" identifier = (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" identifier = (cast_expression "(code *****)((int)unaff_s5 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15)" identifier = (cast_expression "(code *****)((int)pppppcVar23 - iVar15)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar23 - iVar15)" ( (binary_expression "(int)pppppcVar23 - iVar15" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);" (assignment_expression "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" identifier = (cast_expression "(code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" ( (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4" (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15" (cast_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pppppcVar10 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppcVar10 + 1)" ( (binary_expression "pppppcVar10 + 1" identifier + number_literal) )))) ))) + identifier) + number_literal) )))) ;) (if_statement "if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;" if (parenthesized_expression "(iVar19 <= (int)unaff_s5)" ( (binary_expression "iVar19 <= (int)unaff_s5" identifier <= (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00042c08;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(3 < (int)pppppcVar23)" ( (binary_expression "3 < (int)pppppcVar23" number_literal < (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x4da8);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x4da8)" identifier (argument_list "(iVar11,iVar19 + 0x4da8)" ( identifier , (binary_expression "iVar19 + 0x4da8" identifier + number_literal) ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fc18;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar19 + 0x4e34" identifier + number_literal) ))) ;) (labeled_statement "LAB_0003fc30:\n  piVar20[0x13] = 0;" statement_identifier : (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;)) (if_statement "if (piVar20[0xd] != 0) goto LAB_0003fe38;" if (parenthesized_expression "(piVar20[0xd] != 0)" ( (binary_expression "piVar20[0xd] != 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);" statement_identifier : (expression_statement "iVar19 = get_remote_username(uVar2);" (assignment_expression "iVar19 = get_remote_username(uVar2)" identifier = (call_expression "get_remote_username(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;)) (expression_statement "*(int *)(iVar11 + 0x250) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x250) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x250)" * (cast_expression "(int *)(iVar11 + 0x250)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e58" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,uVar2,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" { (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040b30;" goto statement_identifier ;) })) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x250) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x250) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar27)(iVar19);" (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier ))) ;) }) (else_clause "else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" else (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 5) != 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 5) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 5)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 5" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e8c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) })))) (labeled_statement "LAB_0003fc6c:\n  piVar20[0x13] = 1;" statement_identifier : (expression_statement "piVar20[0x13] = 1;" (assignment_expression "piVar20[0x13] = 1" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ea4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 0;" (assignment_expression "piVar20[1] = 0" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[8] = 0;" (assignment_expression "piVar20[8] = 0" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xc] = 0;" (assignment_expression "piVar20[0xc] = 0" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[9] = 0;" (assignment_expression "piVar20[9] = 0" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar20[0x1c] == 0) goto LAB_0003fb80;" if (parenthesized_expression "(piVar20[0x1c] == 0)" ( (binary_expression "piVar20[0x1c] == 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (if_statement "if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }" { (expression_statement "piVar20[0x20] = 0;" (assignment_expression "piVar20[0x20] = 0" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1d] = piVar20[0x1c] + 9;" (assignment_expression "piVar20[0x1d] = piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" else (compound_statement "{\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" { (expression_statement "piVar20[0x1d] = piVar20[0x1f];" (assignment_expression "piVar20[0x1d] = piVar20[0x1f]" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (subscript_expression "piVar20[0x1f]" identifier [ number_literal ])) ;) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_84 == *piVar21) {\n    return;\n  }" if (parenthesized_expression "(iStack_84 == *piVar21)" ( (binary_expression "iStack_84 == *piVar21" identifier == (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73ae4))();" (call_expression "(**(code **)(puVar26 + 0x73ae4))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73ae4))" ( (pointer_expression "**(code **)(puVar26 + 0x73ae4)" * (pointer_expression "*(code **)(puVar26 + 0x73ae4)" * (cast_expression "(code **)(puVar26 + 0x73ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73ae4)" ( (binary_expression "puVar26 + 0x73ae4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5318" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);" (call_expression "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x10))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x10)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x10)" * (cast_expression "(code **)(piVar20[0x30] + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x10)" ( (binary_expression "piVar20[0x30] + 0x10" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],pppppcVar23)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (iVar19 == 0) goto LAB_0003fb80;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (labeled_statement "LAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (labeled_statement "LAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x178);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x178)" identifier = (cast_expression "(code *****)(iVar11 + 0x178)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x178)" ( (binary_expression "iVar11 + 0x178" identifier + number_literal) )))) ;)) (expression_statement "iVar19 = bufchain_size(pppppcVar23);" (assignment_expression "iVar19 = bufchain_size(pppppcVar23)" identifier = (call_expression "bufchain_size(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier )))) ;) (if_statement "if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" { (expression_statement "unaff_s5 = *(code ******)(puVar26 + 0x730a8);" (assignment_expression "unaff_s5 = *(code ******)(puVar26 + 0x730a8)" identifier = (pointer_expression "*(code ******)(puVar26 + 0x730a8)" * (cast_expression "(code ******)(puVar26 + 0x730a8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) ;) (if_statement "if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" if (parenthesized_expression "(((uint)*unaff_s5 & 5) != 0)" ( (binary_expression "((uint)*unaff_s5 & 5) != 0" (parenthesized_expression "((uint)*unaff_s5 & 5)" ( (binary_expression "(uint)*unaff_s5 & 5" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" ( identifier )) * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" { (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73014))(iVar19,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73014))" ( (pointer_expression "**(code **)(puVar26 + 0x73014)" * (pointer_expression "*(code **)(puVar26 + 0x73014)" * (cast_expression "(code **)(puVar26 + 0x73014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73014)" ( (binary_expression "puVar26 + 0x73014" identifier + number_literal) ))))) )) (argument_list "(iVar19,1)" ( identifier , number_literal ))))) ;) (expression_statement "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);" (call_expression "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x7304c))" ( (pointer_expression "**(code **)(puVar26 + 0x7304c)" * (pointer_expression "*(code **)(puVar26 + 0x7304c)" * (cast_expression "(code **)(puVar26 + 0x7304c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7304c)" ( (binary_expression "puVar26 + 0x7304c" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,pcVar9,iVar19)" ( identifier , identifier , identifier ))) ;) (if_statement "if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" if (parenthesized_expression "(((uint)*unaff_s5 & 2) == 0)" ( (binary_expression "((uint)*unaff_s5 & 2) == 0" (parenthesized_expression "((uint)*unaff_s5 & 2)" ( (binary_expression "(uint)*unaff_s5 & 2" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" ( identifier )) * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }" { (expression_statement "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);" (call_expression "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , identifier , identifier ))) ;) }) (else_clause "else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" else (compound_statement "{\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" { (expression_statement "puVar3 = *(undefined4 **)(puVar26 + 0x73b28);" (assignment_expression "puVar3 = *(undefined4 **)(puVar26 + 0x73b28)" identifier = (pointer_expression "*(undefined4 **)(puVar26 + 0x73b28)" * (cast_expression "(undefined4 **)(puVar26 + 0x73b28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b28)" ( (binary_expression "puVar26 + 0x73b28" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" { (expression_statement "unaff_s5 = (code *****)&DAT_0000000d;" (assignment_expression "unaff_s5 = (code *****)&DAT_0000000d" identifier = (cast_expression "(code *****)&DAT_0000000d" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_0000000d" & identifier))) ;) (expression_statement "pcVar25 = pcVar9;" (assignment_expression "pcVar25 = pcVar9" identifier = identifier) ;) (do_statement "do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);" do (compound_statement "{\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          }" { (expression_statement "uVar8 = (uint)*pcVar25;" (assignment_expression "uVar8 = (uint)*pcVar25" identifier = (binary_expression "(uint)*pcVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" if (parenthesized_expression "((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0))))" ( (binary_expression "(uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" (parenthesized_expression "(uVar8 != 0xd)" ( (binary_expression "uVar8 != 0xd" identifier != number_literal) )) && (parenthesized_expression "((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" ( (parenthesized_expression "(uVar8 == 10 || ((uVar8 & 0x60) != 0))" ( (binary_expression "uVar8 == 10 || ((uVar8 & 0x60) != 0)" (binary_expression "uVar8 == 10" identifier == number_literal) || (parenthesized_expression "((uVar8 & 0x60) != 0)" ( (binary_expression "(uVar8 & 0x60) != 0" (parenthesized_expression "(uVar8 & 0x60)" ( (binary_expression "uVar8 & 0x60" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" { (expression_statement "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);" (call_expression "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3)" (parenthesized_expression "(**(code **)(puVar26 + 0x739c4))" ( (pointer_expression "**(code **)(puVar26 + 0x739c4)" * (pointer_expression "*(code **)(puVar26 + 0x739c4)" * (cast_expression "(code **)(puVar26 + 0x739c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x739c4)" ( (binary_expression "puVar26 + 0x739c4" identifier + number_literal) ))))) )) (argument_list "(uVar8,*puVar3)" ( identifier , (pointer_expression "*puVar3" * identifier) ))) ;) })) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar25 != pcVar9 + iVar19)" ( (binary_expression "pcVar25 != pcVar9 + iVar19" identifier != (binary_expression "pcVar9 + iVar19" identifier + identifier)) )) ;) })) }))) (expression_statement "safefree(pcVar9);" (call_expression "safefree(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) })) })) (expression_statement "bufchain_clear(pppppcVar23);" (call_expression "bufchain_clear(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x34)" ( (binary_expression "ppppcVar4 == (code ****)0x34" identifier == (cast_expression "(code ****)0x34" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4eac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0xe] = 1;" (assignment_expression "piVar20[0xe] = 1" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003fe38:\n    iVar19 = piVar20[0x14];" statement_identifier : (expression_statement "iVar19 = piVar20[0x14];" (assignment_expression "iVar19 = piVar20[0x14]" identifier = (subscript_expression "piVar20[0x14]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)(iVar11 + 0x344) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x344) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x344)" * (cast_expression "(undefined4 *)(iVar11 + 0x344)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" { (expression_statement "safefree(piVar20[0x18]);" (call_expression "safefree(piVar20[0x18])" identifier (argument_list "(piVar20[0x18])" ( (subscript_expression "piVar20[0x18]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x14]);" (call_expression "safefree(piVar20[0x14])" identifier (argument_list "(piVar20[0x14])" ( (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x19]);" (call_expression "safefree(piVar20[0x19])" identifier (argument_list "(piVar20[0x19])" ( (subscript_expression "piVar20[0x19]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (piVar20[0x1c] != 0) {\n      safefree();\n    }" if (parenthesized_expression "(piVar20[0x1c] != 0)" ( (binary_expression "piVar20[0x1c] != 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      safefree();\n    }" { (expression_statement "safefree();" (call_expression "safefree()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" if (parenthesized_expression "(piVar20[0xe] == 0)" ( (binary_expression "piVar20[0xe] == 0" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }" { (labeled_statement "LAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar26 + 0x730c8)" * (cast_expression "(code **)(puVar26 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730c8)" ( (binary_expression "puVar26 + 0x730c8" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" else (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar26 + 0x730c8)" * (cast_expression "(code **)(puVar26 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730c8)" ( (binary_expression "puVar26 + 0x730c8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0xec) == 0)" ( (binary_expression "*(int *)(iVar11 + 0xec) == 0" (pointer_expression "*(int *)(iVar11 + 0xec)" * (cast_expression "(int *)(iVar11 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xec)" ( (binary_expression "iVar11 + 0xec" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" { (expression_statement "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);" (call_expression "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fecc;" goto statement_identifier ;) })) }))) (expression_statement "uVar2 = (*pcVar27)(iVar19 + 0x6ba0);" (assignment_expression "uVar2 = (*pcVar27)(iVar19 + 0x6ba0)" identifier = (call_expression "(*pcVar27)(iVar19 + 0x6ba0)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 0x6ba0)" ( (binary_expression "iVar19 + 0x6ba0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x124) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x124) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x124)" * (cast_expression "(undefined4 *)(iVar11 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x124)" ( (binary_expression "iVar11 + 0x124" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(iVar11 + 0x3e4)" * (cast_expression "(int *)(iVar11 + 0x3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e4)" ( (binary_expression "iVar11 + 0x3e4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(iVar11 + 0x3b0)" * (cast_expression "(int *)(iVar11 + 0x3b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b0)" ( (binary_expression "iVar11 + 0x3b0" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2d)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }" { (expression_statement "piVar5 = (int *)safemalloc(1,0x5c);" (assignment_expression "piVar5 = (int *)safemalloc(1,0x5c)" identifier = (cast_expression "(int *)safemalloc(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0x5c)" identifier (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*(int **)(iVar11 + 0x128) = piVar5;" (assignment_expression "*(int **)(iVar11 + 0x128) = piVar5" (pointer_expression "*(int **)(iVar11 + 0x128)" * (cast_expression "(int **)(iVar11 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) = identifier) ;) (expression_statement "*piVar5 = iVar11;" (assignment_expression "*piVar5 = iVar11" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "FUN_0003e1f8(piVar5);" (call_expression "FUN_0003e1f8(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" if (parenthesized_expression "(*pcVar9 == '\0')" ( (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }" { (expression_statement "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);" (assignment_expression "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" identifier = (call_expression "FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" identifier (argument_list "(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" ( (binary_expression "*(int *)(iVar11 + 0x128) + 8" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(iVar11 + 0x128) + 0x34" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7718" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);" (call_expression "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55f8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 300) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 300)" * (cast_expression "(undefined4 *)(iVar11 + 300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" else (compound_statement "{\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" { (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x128)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" identifier = (cast_expression "(code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2f)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);" (call_expression "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" identifier (argument_list "(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" ( identifier , identifier , identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55e8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 300) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 300)" * (cast_expression "(undefined4 *)(iVar11 + 300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00040660:\n        *piVar20 = 0x2a03;" statement_identifier : (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x128) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x128) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);" statement_identifier : (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 0x3ec)" * (cast_expression "(int *)(iVar11 + 0x3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3ec)" ( (binary_expression "iVar11 + 0x3ec" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x5294" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 1000) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 1000)" * (cast_expression "(int *)(iVar11 + 1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1000)" ( (binary_expression "iVar11 + 1000" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x5294" identifier + number_literal)) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x3fc)" * (cast_expression "(int *)(iVar11 + 0x3fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3fc)" ( (binary_expression "iVar11 + 0x3fc" identifier + number_literal) )))) = (binary_expression "iVar19 + -0x4d18" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x400)" * (cast_expression "(int *)(iVar11 + 0x400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x400)" ( (binary_expression "iVar11 + 0x400" identifier + number_literal) )))) = (binary_expression "iVar19 + -0x4d18" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950" (pointer_expression "*(int *)(iVar11 + 0x3f0)" * (cast_expression "(int *)(iVar11 + 0x3f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f0)" ( (binary_expression "iVar11 + 0x3f0" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x4950" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(iVar11 + 0x3f4)" * (cast_expression "(int *)(iVar11 + 0x3f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f4)" ( (binary_expression "iVar11 + 0x3f4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(iVar11 + 0x3dc)" * (cast_expression "(int *)(iVar11 + 0x3dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3dc)" ( (binary_expression "iVar11 + 0x3dc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(iVar11 + 0x3e0)" * (cast_expression "(int *)(iVar11 + 0x3e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e0)" ( (binary_expression "iVar11 + 0x3e0" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;" (assignment_expression "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(iVar11 + 0x3f8)" * (cast_expression "(int *)(iVar11 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f8)" ( (binary_expression "iVar11 + 0x3f8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(iVar11 + 0x3d8)" * (cast_expression "(int *)(iVar11 + 0x3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3d8)" ( (binary_expression "iVar11 + 0x3d8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0xf4) != 0)" ( (binary_expression "*(int *)(iVar11 + 0xf4) != 0" (pointer_expression "*(int *)(iVar11 + 0xf4)" * (cast_expression "(int *)(iVar11 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf4)" ( (binary_expression "iVar11 + 0xf4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));" (call_expression "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73544))" ( (pointer_expression "**(code **)(puVar26 + 0x73544)" * (pointer_expression "*(code **)(puVar26 + 0x73544)" * (cast_expression "(code **)(puVar26 + 0x73544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73544)" ( (binary_expression "puVar26 + 0x73544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" ( (pointer_expression "*(int *)(iVar11 + 0xf4)" * (cast_expression "(int *)(iVar11 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf4)" ( (binary_expression "iVar11 + 0xf4" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar11 + 8)" * (cast_expression "(undefined4 *)(iVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" if (parenthesized_expression "((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0))" ( (binary_expression "(*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) != 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" ( (comma_expression "iVar19 = FUN_0003769c(iVar11), iVar19 != 0" (assignment_expression "iVar19 = FUN_0003769c(iVar11)" identifier = (call_expression "FUN_0003769c(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" { (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56e0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" identifier (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) })) (expression_statement "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));" (call_expression "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248))" identifier (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x248))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) ))) ;) (if_statement "if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" if (parenthesized_expression "((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0))" ( (binary_expression "(*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(iVar11 + 300) != 0)" ( (binary_expression "*(int *)(iVar11 + 300) != 0" (pointer_expression "*(int *)(iVar11 + 300)" * (cast_expression "(int *)(iVar11 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x104) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x104) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x104)" * (cast_expression "(undefined4 *)(iVar11 + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x104)" ( (binary_expression "iVar11 + 0x104" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x108) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x108) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x108)" * (cast_expression "(undefined4 *)(iVar11 + 0x108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x108)" ( (binary_expression "iVar11 + 0x108" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;" statement_identifier : (expression_statement "*(undefined4 *)(iVar11 + 0x144) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x144) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x144)" * (cast_expression "(undefined4 *)(iVar11 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x144)" ( (binary_expression "iVar11 + 0x144" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x148) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x148) != 0" (pointer_expression "*(int *)(iVar11 + 0x148)" * (cast_expression "(int *)(iVar11 + 0x148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x148)" ( (binary_expression "iVar11 + 0x148" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" { (expression_statement "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));" (call_expression "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" identifier (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x11c)" * (cast_expression "(undefined4 *)(iVar11 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x11c)" ( (binary_expression "iVar11 + 0x11c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar11 + 0x120)" * (cast_expression "(undefined4 *)(iVar11 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x120)" ( (binary_expression "iVar11 + 0x120" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x14c) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x14c) != 0" (pointer_expression "*(int *)(iVar11 + 0x14c)" * (cast_expression "(int *)(iVar11 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14c)" ( (binary_expression "iVar11 + 0x14c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_0004f144(iVar11,0xc);\n        }" { (expression_statement "FUN_0004f144(iVar11,0xc);" (call_expression "FUN_0004f144(iVar11,0xc)" identifier (argument_list "(iVar11,0xc)" ( identifier , number_literal ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x14) != 0" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          ldisc_echoedit_update();\n        }" { (expression_statement "ldisc_echoedit_update();" (call_expression "ldisc_echoedit_update()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }" { (labeled_statement "LAB_0003f7c4:\n          *piVar20 = 0x2abd;" statement_identifier : (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }) (else_clause "else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }))) }) (else_clause "else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" else (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x95)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" identifier = (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x96)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" identifier = (call_expression "(**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73570))" ( (pointer_expression "**(code **)(puVar26 + 0x73570)" * (pointer_expression "*(code **)(puVar26 + 0x73570)" * (cast_expression "(code **)(puVar26 + 0x73570)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73570)" ( (binary_expression "puVar26 + 0x73570" identifier + number_literal) ))))) )) (argument_list "(uVar2,*(undefined4 *)(iVar11 + 0x248))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar11 + 0x18c) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x18c) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x18c)" * (cast_expression "(int *)(iVar11 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18c)" ( (binary_expression "iVar11 + 0x18c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5704" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" else (compound_statement "{\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" { (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x194);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x194)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x194)" * (cast_expression "(undefined4 *)(iVar11 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x194)" ( (binary_expression "iVar11 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x97)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73528))" ( (pointer_expression "**(code **)(puVar26 + 0x73528)" * (pointer_expression "*(code **)(puVar26 + 0x73528)" * (cast_expression "(code **)(puVar26 + 0x73528)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73528)" ( (binary_expression "puVar26 + 0x73528" identifier + number_literal) ))))) )) (argument_list "(uVar14,uVar2)" ( identifier , identifier )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x128)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 400) = iVar19;" (assignment_expression "*(int *)(iVar11 + 400) = iVar19" (pointer_expression "*(int *)(iVar11 + 400)" * (cast_expression "(int *)(iVar11 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 400)" ( (binary_expression "iVar11 + 400" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);" (assignment_expression "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c)" (pointer_expression "*(undefined4 *)(iVar19 + 0x1c)" * (cast_expression "(undefined4 *)(iVar19 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar11 + 0x18c)" * (cast_expression "(undefined4 *)(iVar11 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18c)" ( (binary_expression "iVar11 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "FUN_00046fcc(uVar2,0,0);" (call_expression "FUN_00046fcc(uVar2,0,0)" identifier (argument_list "(uVar2,0,0)" ( identifier , number_literal , number_literal ))) ;) }))) })) (expression_statement "iVar19 = ssh_agent_forwarding_permitted(iVar11);" (assignment_expression "iVar19 = ssh_agent_forwarding_permitted(iVar11)" identifier = (call_expression "ssh_agent_forwarding_permitted(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) ;) (if_statement "if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" { (expression_statement "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x16)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" { (expression_statement "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (expression_statement "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (if_statement "if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" * (cast_expression "(int *)(iVar11 + 0x174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }" { (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" identifier = (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2b)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar2 = 0x14;" (assignment_expression "uVar2 = 0x14" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" else (compound_statement "{\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" { (labeled_statement "LAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" identifier = (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;)) (expression_statement "uVar2 = 0x15;" (assignment_expression "uVar2 = 0x15" identifier = number_literal) ;) }))) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),uVar2)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" if (parenthesized_expression "(pppppcVar23 == (code *****)0x0)" ( (binary_expression "pppppcVar23 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" identifier = (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x574c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00041828;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5754" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" else (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" identifier = (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5740" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" statement_identifier : (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , identifier , identifier , number_literal )))) ;)) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,pcVar9);" (call_expression "FUN_0003b23c(iVar19,pcVar9)" identifier (argument_list "(iVar19,pcVar9)" ( identifier , identifier ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" identifier (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00041870:\n        *piVar20 = 0x2a90;" statement_identifier : (expression_statement "*piVar20 = 0x2a90;" (assignment_expression "*piVar20 = 0x2a90" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) }))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x33)" ( (binary_expression "ppppcVar4 == (code ****)0x33" identifier == (cast_expression "(code ****)0x33" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }" { (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" identifier = (subscript_expression "pppppcVar24[6]" identifier [ number_literal ])) ;) (if_statement "if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" if (parenthesized_expression "(((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'))" ( (binary_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" ( (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppcVar24" * identifier)) - (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) || (parenthesized_expression "(cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" ( (comma_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" identifier = (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" * (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" ( (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar24[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (comma_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (cast_expression "(code ****)((int)ppppcVar4 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar4 + 1)" ( (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }" { (expression_statement "iVar19 = piVar20[1];" (assignment_expression "iVar19 = piVar20[1]" identifier = (subscript_expression "piVar20[1]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = *(int **)(puVar26 + 0x734a0);" (assignment_expression "piVar5 = *(int **)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int **)(puVar26 + 0x734a0)" * (cast_expression "(int **)(puVar26 + 0x734a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (if_statement "if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 - 2U < 2)" ( (binary_expression "iVar19 - 2U < 2" (binary_expression "iVar19 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" { (if_statement "if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" if (parenthesized_expression "(iVar19 == 2)" ( (binary_expression "iVar19 == 2" identifier == number_literal) )) (compound_statement "{\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ef4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f28" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 == 7)" ( (binary_expression "iVar19 == 7" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fa4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 != 5)" ( (binary_expression "iVar19 != 5" identifier != number_literal) )) (compound_statement "{\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" { (if_statement "if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" if (parenthesized_expression "(iVar19 != 6)" ( (binary_expression "iVar19 != 6" identifier != number_literal) )) (compound_statement "{\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" { (if_statement "if (iVar19 != 4) goto LAB_00042db4;" if (parenthesized_expression "(iVar19 != 4)" ( (binary_expression "iVar19 != 4" identifier != number_literal) )) (goto_statement "goto LAB_00042db4;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5034" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x1e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar20[0x13] == 0) goto LAB_0003fc40;" if (parenthesized_expression "(piVar20[0x13] == 0)" ( (binary_expression "piVar20[0x13] == 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;)) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(uVar2,0x1e)" ( identifier , number_literal )))) ;) (if_statement "if (iVar19 == 0) goto LAB_0003fc6c;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fc6c;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fd8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) }) (else_clause "else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" else (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5054" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5078" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) }))) (expression_statement "pppppcVar23 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar23 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcVar24 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_94" identifier = (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" ( (binary_expression "iVar15 + 0x5098" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "piVar20[5] = iVar19;" (assignment_expression "piVar20[5] = iVar19" (subscript_expression "piVar20[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar20[6] = iVar19;" (assignment_expression "piVar20[6] = iVar19" (subscript_expression "piVar20[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = (*pcVar27)(uVar2,0x26);" (assignment_expression "uVar8 = (*pcVar27)(uVar2,0x26)" identifier = (call_expression "(*pcVar27)(uVar2,0x26)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x26)" ( identifier , number_literal )))) ;) (if_statement "if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" { (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar8 = (uint)(iVar19 != 0);" (assignment_expression "uVar8 = (uint)(iVar19 != 0)" identifier = (call_expression "(uint)(iVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )))) ;) })) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "piVar20[7] = uVar8;" (assignment_expression "piVar20[7] = uVar8" (subscript_expression "piVar20[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x27);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x27)" identifier = (call_expression "(*pcVar27)(uVar2,0x27)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x27)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" if (parenthesized_expression "((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0))" ( (binary_expression "(iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" ( (comma_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      piVar20[10] = 0;\n    }" { (expression_statement "piVar20[10] = 0;" (assignment_expression "piVar20[10] = 0" (subscript_expression "piVar20[10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" else (compound_statement "{\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" { (expression_statement "iVar19 = *(int *)(iVar11 + 0x6a8);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x6a8)" identifier = (pointer_expression "*(int *)(iVar11 + 0x6a8)" * (cast_expression "(int *)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" identifier = (call_expression "(**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73558))" ( (pointer_expression "**(code **)(puVar26 + 0x73558)" * (pointer_expression "*(code **)(puVar26 + 0x73558)" * (cast_expression "(code **)(puVar26 + 0x73558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73558)" ( (binary_expression "puVar26 + 0x73558" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar11 + 0x6a8) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6a8) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6a8)" * (cast_expression "(int *)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));" (assignment_expression "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4))" (subscript_expression "piVar20[10]" identifier [ number_literal ]) = (call_expression "(uint)(0 < *(int *)(iVar19 + 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < *(int *)(iVar19 + 4))" ( (binary_expression "0 < *(int *)(iVar19 + 4)" number_literal < (pointer_expression "*(int *)(iVar19 + 4)" * (cast_expression "(int *)(iVar19 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) )))) ;) }))) }) (else_clause "else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" else (compound_statement "{\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" { (if_statement "if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar20[1] != 5)" ( (binary_expression "piVar20[1] != 5" (subscript_expression "piVar20[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ebc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);" statement_identifier : (expression_statement "uVar2 = dupprintf(iVar19,ppppcVar4);" (assignment_expression "uVar2 = dupprintf(iVar19,ppppcVar4)" identifier = (call_expression "dupprintf(iVar19,ppppcVar4)" identifier (argument_list "(iVar19,ppppcVar4)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_00040050:\n      FUN_0003822c(iVar11,uVar2);" statement_identifier : (expression_statement "FUN_0003822c(iVar11,uVar2);" (call_expression "FUN_0003822c(iVar11,uVar2)" identifier (argument_list "(iVar11,uVar2)" ( identifier , identifier ))) ;)) (labeled_statement "LAB_0003fd38:\n      *piVar20 = 0;" statement_identifier : (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "iVar19 = piVar20[5];" (assignment_expression "iVar19 = piVar20[5]" identifier = (subscript_expression "piVar20[5]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" { (if_statement "if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "((piVar20[9] == 0) && (piVar20[0x21] != 0))" ( (binary_expression "(piVar20[9] == 0) && (piVar20[0x21] != 0)" (parenthesized_expression "(piVar20[9] == 0)" ( (binary_expression "piVar20[9] == 0" (subscript_expression "piVar20[9]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(piVar20[0x21] != 0)" ( (binary_expression "piVar20[0x21] != 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" identifier = (subscript_expression "piVar20[0x20]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)&pppcStack_88;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_88" identifier = (cast_expression "(code *****)&pppcStack_88" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppcStack_88" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15)" identifier (argument_list "(iVar11,iVar19 + 0x50cc,iVar15)" ( identifier , (binary_expression "iVar19 + 0x50cc" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar20[0x1d])" ( (pointer_expression "*(undefined4 *)piVar20[0x1d]" * (cast_expression "(undefined4 *)piVar20[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "iVar6 = piVar20[0x1d];" (assignment_expression "iVar6 = piVar20[0x1d]" identifier = (subscript_expression "piVar20[0x1d]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar15 = iVar6 + 4;" (assignment_expression "iVar15 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) (expression_statement "piVar20[0x22] = iVar15;" (assignment_expression "piVar20[0x22] = iVar15" (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73100);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73100)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x1d] = iVar15 + iVar19;" (assignment_expression "piVar20[0x1d] = iVar15 + iVar19" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "iVar15 + iVar19" identifier + identifier)) ;) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4))" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar6 + 4))" ( (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "piVar20[0x26] = iVar19;" (assignment_expression "piVar20[0x26] = iVar19" (subscript_expression "piVar20[0x26]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[0x23] = piVar20[0x22] + 4;" (assignment_expression "piVar20[0x23] = piVar20[0x22] + 4" (subscript_expression "piVar20[0x23]" identifier [ number_literal ]) = (binary_expression "piVar20[0x22] + 4" (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar20[0x1d])" ( (pointer_expression "*(undefined4 *)piVar20[0x1d]" * (cast_expression "(undefined4 *)piVar20[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "piVar20[0x27] = iVar19;" (assignment_expression "piVar20[0x27] = iVar19" (subscript_expression "piVar20[0x27]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[0x24] = piVar20[0x1d] + 4;" (assignment_expression "piVar20[0x24] = piVar20[0x1d] + 4" (subscript_expression "piVar20[0x24]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;" (assignment_expression "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1d] + 4 + iVar19" (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,pppppcVar23,4);" (call_expression "FUN_0003aef4(puVar3,pppppcVar23,4)" identifier (argument_list "(puVar3,pppppcVar23,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" identifier = (subscript_expression "piVar20[0x26]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" identifier = (subscript_expression "piVar20[0x23]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppcVar24 = (code *****)piVar20[0x2e];" (assignment_expression "pppppcVar24 = (code *****)piVar20[0x2e]" identifier = (cast_expression "(code *****)piVar20[0x2e]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(pppppcVar24,pppppcVar23,4);" (call_expression "FUN_0003aef4(pppppcVar24,pppppcVar23,4)" identifier (argument_list "(pppppcVar24,pppppcVar23,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" identifier = (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" identifier = (subscript_expression "piVar20[0x22]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar24[6] = *pppppcVar24;" (assignment_expression "pppppcVar24[6] = *pppppcVar24" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (pointer_expression "*pppppcVar24" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 3;" (assignment_expression "piVar20[1] = 3" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00040908:\n      *piVar20 = 0x2650;" statement_identifier : (expression_statement "*piVar20 = 0x2650;" (assignment_expression "*piVar20 = 0x2650" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0))" ( (binary_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)" (parenthesized_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0))" ( (binary_expression "(piVar20[0x14] != 0) && (piVar20[0x16] != 0)" (parenthesized_expression "(piVar20[0x14] != 0)" ( (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(piVar20[0x16] != 0)" ( (binary_expression "piVar20[0x16] != 0" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar20[8] == 0)" ( (binary_expression "piVar20[8] == 0" (subscript_expression "piVar20[8]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x18])" identifier (argument_list "(piVar20[0x2e],piVar20[0x18])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x18]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x15];" (assignment_expression "iVar6 = piVar20[0x15]" identifier = (subscript_expression "piVar20[0x15]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x14];" (assignment_expression "iVar15 = piVar20[0x14]" identifier = (subscript_expression "piVar20[0x14]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5158" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00041ab0:\n      *piVar20 = 0x26df;" statement_identifier : (expression_statement "*piVar20 = 0x26df;" (assignment_expression "*piVar20 = 0x26df" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) })) (if_statement "if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" if (parenthesized_expression "((piVar20[10] != 0) && (piVar20[0xb] == 0))" ( (binary_expression "(piVar20[10] != 0) && (piVar20[0xb] == 0)" (parenthesized_expression "(piVar20[10] != 0)" ( (binary_expression "piVar20[10] != 0" (subscript_expression "piVar20[10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(piVar20[0xb] == 0)" ( (binary_expression "piVar20[0xb] == 0" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" { (expression_statement "piVar20[0xb] = 1;" (assignment_expression "piVar20[0xb] = 1" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 5;" (assignment_expression "piVar20[1] = 5" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = **(int **)(puVar26 + 0x73414);" (assignment_expression "iVar19 = **(int **)(puVar26 + 0x73414)" identifier = (pointer_expression "**(int **)(puVar26 + 0x73414)" * (pointer_expression "*(int **)(puVar26 + 0x73414)" * (cast_expression "(int **)(puVar26 + 0x73414)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73414)" ( (binary_expression "puVar26 + 0x73414" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x30] = 0;" (assignment_expression "piVar20[0x30] = 0" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x733d0)" * (cast_expression "(code **)(puVar26 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x733d0)" ( (binary_expression "puVar26 + 0x733d0" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);" do (compound_statement "{\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      }" { (expression_statement "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);" (assignment_expression "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal , identifier )))) ;) (expression_statement "iVar18 = (*(int **)(iVar11 + 0x6a8))[1];" (assignment_expression "iVar18 = (*(int **)(iVar11 + 0x6a8))[1]" identifier = (subscript_expression "(*(int **)(iVar11 + 0x6a8))[1]" (parenthesized_expression "(*(int **)(iVar11 + 0x6a8))" ( (pointer_expression "*(int **)(iVar11 + 0x6a8)" * (cast_expression "(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) )))) )) [ number_literal ])) ;) (if_statement "if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" { (expression_statement "piVar5 = (int *)**(int **)(iVar11 + 0x6a8);" (assignment_expression "piVar5 = (int *)**(int **)(iVar11 + 0x6a8)" identifier = (cast_expression "(int *)**(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar11 + 0x6a8)" * (pointer_expression "*(int **)(iVar11 + 0x6a8)" * (cast_expression "(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) ))))))) ;) (if_statement "if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" if (parenthesized_expression "(iVar6 == *piVar5)" ( (binary_expression "iVar6 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" { (labeled_statement "LAB_0004106c:\n            piVar20[0x30] = (int)piVar5;" statement_identifier : (expression_statement "piVar20[0x30] = (int)piVar5;" (assignment_expression "piVar20[0x30] = (int)piVar5" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (goto_statement "goto LAB_0003f984;" goto statement_identifier ;) })) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" { (expression_statement "piVar5 = piVar5 + 0x15;" (assignment_expression "piVar5 = piVar5 + 0x15" identifier = (binary_expression "piVar5 + 0x15" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar18) break;" if (parenthesized_expression "(iVar13 == iVar18)" ( (binary_expression "iVar13 == iVar18" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (*piVar5 == iVar6) goto LAB_0004106c;" if (parenthesized_expression "(*piVar5 == iVar6)" ( (binary_expression "*piVar5 == iVar6" (pointer_expression "*piVar5" * identifier) == identifier) )) (goto_statement "goto LAB_0004106c;" goto statement_identifier ;)) })) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x733d0)" * (cast_expression "(code **)(puVar26 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x733d0)" ( (binary_expression "puVar26 + 0x733d0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar19 != iVar15)" ( (binary_expression "iVar19 != iVar15" identifier != identifier) )) ;) (expression_statement "piVar5 = (int *)piVar20[0x30];" (assignment_expression "piVar5 = (int *)piVar20[0x30]" identifier = (cast_expression "(int *)piVar20[0x30]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" { (if_statement "if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" if (parenthesized_expression "(piVar5[1] != 0)" ( (binary_expression "piVar5[1] != 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))) ;) })) (expression_statement "pppppcVar23 = (code *****)&pppcStack_98;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_98" identifier = (cast_expression "(code *****)&pppcStack_98" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppcStack_98" & identifier))) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x524c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);" (call_expression "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 8))" ( (pointer_expression "**(code **)(piVar20[0x30] + 8)" * (pointer_expression "*(code **)(piVar20[0x30] + 8)" * (cast_expression "(code **)(piVar20[0x30] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 8)" ( (binary_expression "piVar20[0x30] + 8" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x32)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) ))) ;) (expression_statement "pppcStack_88 = (code ***)0x1;" (assignment_expression "pppcStack_88 = (code ***)0x1" identifier = (cast_expression "(code ***)0x1" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4)" identifier (argument_list "(piVar20[0x2e],&pppcStack_88,4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);" (call_expression "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2)" identifier (argument_list "(piVar20[0x2e],piVar20[0x32] + 2)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "piVar20[0x32] + 2" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13(6,pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13(6,pppcStack_98._1_3_)" identifier (argument_list "(6,pppcStack_98._1_3_)" ( number_literal , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" identifier (argument_list "((char)piVar20[0x32],pppcStack_98._1_3_)" ( (cast_expression "(char)piVar20[0x32]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x32]" identifier [ number_literal ])) , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);" (call_expression "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" identifier (argument_list "(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_0003fae0:\n        *piVar20 = 0x27b6;" statement_identifier : (expression_statement "*piVar20 = 0x27b6;" (assignment_expression "*piVar20 = 0x27b6" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5240" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (do_statement "do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));" do (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" identifier (argument_list "(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "iVar19 + 0x51dc" identifier + number_literal) , number_literal ))) ;) (labeled_statement "LAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" statement_identifier : (if_statement "if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" if (parenthesized_expression "(piVar20[0x17] == 0)" ( (binary_expression "piVar20[0x17] == 0" (subscript_expression "piVar20[0x17]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" identifier = (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" ( (pointer_expression "**(code **)(puVar26 + 0x7354c)" * (pointer_expression "*(code **)(puVar26 + 0x7354c)" * (cast_expression "(code **)(puVar26 + 0x7354c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7354c)" ( (binary_expression "puVar26 + 0x7354c" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,&ppppcStack_90)" ( identifier , number_literal , (pointer_expression "&ppppcStack_90" & identifier) ))))) ;) (expression_statement "pppppcVar23 = &ppppcStack_90;" (assignment_expression "pppppcVar23 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (if_statement "if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;" if (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" identifier == (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00041b34;" goto statement_identifier ;)) (break_statement "break;" break ;) }))) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5190)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5190" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar19 = piVar20[0x19];" (assignment_expression "iVar19 = piVar20[0x19]" identifier = (subscript_expression "piVar20[0x19]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) goto LAB_00040b04;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00040b04;" goto statement_identifier ;)) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier = (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" * (pointer_expression "*(int **)(iVar15 + 0x18)" * (cast_expression "(int **)(iVar15 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "piVar20[0x2f] = iVar15;" (assignment_expression "piVar20[0x2f] = iVar15" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" identifier = (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" ( (pointer_expression "**(code **)(puVar26 + 0x7354c)" * (pointer_expression "*(code **)(puVar26 + 0x7354c)" * (cast_expression "(code **)(puVar26 + 0x7354c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7354c)" ( (binary_expression "puVar26 + 0x7354c" identifier + number_literal) ))))) )) (argument_list "(iVar15,iVar19,unaff_s5)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_00042dd8;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00042dd8;" goto statement_identifier ;)) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "safefree(iVar19);" (call_expression "safefree(iVar19)" identifier (argument_list "(iVar19)" ( identifier ))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" identifier = identifier) ;) }) while (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" identifier == (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) ;) (do_statement "do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));" do (compound_statement "{\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    }" { (if_statement "if (piVar5 == (int *)0x0) break;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" identifier (argument_list "(1,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*piVar5 + 0x30)" * (cast_expression "(undefined4 *)(*piVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 0x30)" ( (binary_expression "*piVar5 + 0x30" (pointer_expression "*piVar5" * identifier) + number_literal) )))) ))) ;) (expression_statement "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);" (assignment_expression "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" identifier = (cast_expression "(code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" (parenthesized_expression "(**(code **)(*piVar5 + 0xc))" ( (pointer_expression "**(code **)(*piVar5 + 0xc)" * (pointer_expression "*(code **)(*piVar5 + 0xc)" * (cast_expression "(code **)(*piVar5 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0xc)" ( (binary_expression "*piVar5 + 0xc" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5[1],&ppppcStack_94)" ( (subscript_expression "piVar5[1]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_94" & identifier) ))))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);" (call_expression "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94)" identifier (argument_list "(iVar19,unaff_s5,ppppcStack_94)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }" if (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) != 0)" ( (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) != 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" ( (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar19 = iVar19 + -4;\n      }" { (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" identifier = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) })) (expression_statement "puVar7 = (undefined1 *)safemalloc(iVar19,1);" (assignment_expression "puVar7 = (undefined1 *)safemalloc(iVar19,1)" identifier = (cast_expression "(undefined1 *)safemalloc(iVar19,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(iVar19,1)" identifier (argument_list "(iVar19,1)" ( identifier , number_literal ))))) ;) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" if (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) == 0)" ( (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) == 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" ( (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }" { (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" identifier = number_literal) ;) (expression_statement "*puVar7 = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*puVar7 = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" * (cast_expression "(undefined1 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" * (cast_expression "(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "puVar12 = puVar7 + 4;" (assignment_expression "puVar12 = puVar7 + 4" identifier = (binary_expression "puVar7 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" else (compound_statement "{\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = puVar7;" (assignment_expression "puVar12 = puVar7" identifier = identifier) ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) ))) ;) (expression_statement "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "iVar15 + *(int *)(iVar11 + 0xe4)" identifier + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);" (call_expression "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" ( (binary_expression "puVar7 + iVar15" identifier + identifier) , (binary_expression "((int *)piVar20[0x2e])[4] + 5" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ]) + number_literal) , (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) ))) ;) (if_statement "if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15)" ( (binary_expression "iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15" identifier == (binary_expression "*(int *)piVar20[0x2e] + -5 + iVar15" (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + identifier)) )) (compound_statement "{\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;" (assignment_expression "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" identifier = (cast_expression "(code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" (parenthesized_expression "(**(code **)(*piVar5 + 0x2c))" ( (pointer_expression "**(code **)(*piVar5 + 0x2c)" * (pointer_expression "*(code **)(*piVar5 + 0x2c)" * (cast_expression "(code **)(*piVar5 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x2c)" ( (binary_expression "*piVar5 + 0x2c" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5[1],puVar7,iVar19,pppppcVar23)" ( (subscript_expression "piVar5[1]" identifier [ number_literal ]) , identifier , identifier , identifier ))))) ;) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" * (cast_expression "(undefined4 *)(iVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) (expression_statement "safefree(pppppcVar23);" (call_expression "safefree(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier ))) ;) (expression_statement "safefree(puVar7);" (call_expression "safefree(puVar7)" identifier (argument_list "(puVar7)" ( identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5224" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = *piVar5;" (assignment_expression "iVar19 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar15 = piVar5[1];" (assignment_expression "iVar15 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(**(code **)(iVar19 + 4))(iVar15);" (call_expression "(**(code **)(iVar19 + 4))(iVar15)" (parenthesized_expression "(**(code **)(iVar19 + 4))" ( (pointer_expression "**(code **)(iVar19 + 4)" * (pointer_expression "*(code **)(iVar19 + 4)" * (cast_expression "(code **)(iVar19 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (expression_statement "safefree(piVar5[2]);" (call_expression "safefree(piVar5[2])" identifier (argument_list "(piVar5[2])" ( (subscript_expression "piVar5[2]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar5);" (call_expression "safefree(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5210" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s5 = pppppcVar23;" (assignment_expression "unaff_s5 = pppppcVar23" identifier = identifier) ;) (labeled_statement "LAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5014" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_00042dd8:\n      pppppcVar23 = unaff_s5;" statement_identifier : (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" identifier = identifier) ;)) }) while (parenthesized_expression "(piVar5 != *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 != *(int **)(puVar26 + 0x73550)" identifier != (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) ;) (labeled_statement "LAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x110);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x110)" identifier = (cast_expression "(code *****)(iVar11 + 0x110)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ;)) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" identifier (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "unaff_s5 = (code *****)ppppcStack_90;" (assignment_expression "unaff_s5 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_90)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2)" identifier (argument_list "(pppppcVar23,unaff_s5,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" identifier (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + -0x116c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" if (parenthesized_expression "((piVar20[7] == 0) || (piVar20[0xc] != 0))" ( (binary_expression "(piVar20[7] == 0) || (piVar20[0xc] != 0)" (parenthesized_expression "(piVar20[7] == 0)" ( (binary_expression "piVar20[7] == 0" (subscript_expression "piVar20[7]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(piVar20[0xc] != 0)" ( (binary_expression "piVar20[0xc] != 0" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }" { (if_statement "if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" if (parenthesized_expression "(piVar20[6] == 0)" ( (binary_expression "piVar20[6] == 0" (subscript_expression "piVar20[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }" { (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5554" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);" (call_expression "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" identifier (argument_list "(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" ( identifier , identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5598" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (labeled_statement "LAB_00041054:\n      safefree(uVar2);" statement_identifier : (expression_statement "safefree(uVar2);" (call_expression "safefree(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;)) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 2" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0xf8);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0xf8)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0xf8)" * (cast_expression "(undefined4 *)(iVar11 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf8)" ( (binary_expression "iVar11 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16)" identifier = (call_expression "dupprintf(iVar19 + 0x5480,uVar14,uVar16)" identifier (argument_list "(iVar19 + 0x5480,uVar14,uVar16)" ( (binary_expression "iVar19 + 0x5480" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "add_prompt(pppppcVar23,uVar2,0);" (call_expression "add_prompt(pppppcVar23,uVar2,0)" identifier (argument_list "(pppppcVar23,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" else (compound_statement "{\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" { (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }" { (labeled_statement "LAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00040b08:\n          (*pcVar27)(iVar15);" statement_identifier : (expression_statement "(*pcVar27)(iVar15);" (call_expression "(*pcVar27)(iVar15)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15)" ( identifier ))) ;)) (expression_statement "uVar2 = 0xd;" (assignment_expression "uVar2 = 0xd" identifier = number_literal) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" statement_identifier : (expression_statement "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" (call_expression "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1)" identifier (argument_list "(iVar11,iVar19,iVar15,uVar2,1)" ( identifier , identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" else (compound_statement "{\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" { (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier = (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" * (pointer_expression "*(int **)(iVar15 + 0x18)" * (cast_expression "(int **)(iVar15 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar27)(piVar20[0xf]);" (call_expression "(*pcVar27)(piVar20[0xf])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" identifier (argument_list "(piVar20[0x2e],piVar20[0x12])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5494" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[1] = 4;" (assignment_expression "piVar20[1] = 4" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00040220:\n          *piVar20 = 0x2917;" statement_identifier : (expression_statement "*piVar20 = 0x2917;" (assignment_expression "*piVar20 = 0x2917" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) })))) }))) }) (else_clause "else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" else (compound_statement "{\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" { (expression_statement "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);" (assignment_expression "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(code ******)(puVar26 + 0x72fb4)" * (cast_expression "(code ******)(puVar26 + 0x72fb4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar20[1] = 6;" (assignment_expression "piVar20[1] = 6" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 4;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 4" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" identifier (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "pppppcVar23 + 0x13d9" identifier + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" identifier (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "pppppcVar23 + 0x13d9" identifier + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53ec" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004072c:\n    *piVar20 = 0x284b;" statement_identifier : (expression_statement "*piVar20 = 0x284b;" (assignment_expression "*piVar20 = 0x284b" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) (labeled_statement "LAB_0003fb80:\n  *piVar20 = 0x25a0;" statement_identifier : (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid ssh_send_port_open(void *channel,char *hostname,int port,char *org)\n\n{\n  uchar uVar1;\n  int iVar2;\n  Packet *pPVar3;\n  char *pcVar4;\n  prompts_t *ppVar5;\n  int *piVar6;\n  int iVar7;\n  handler_fn_t p_Var8;\n  tree234 *ptVar9;\n  Packet *pPVar10;\n  ulong uVar11;\n  size_t n;\n  agent_pending_query *paVar12;\n  uint uVar13;\n  ssh_gss_liblist *psVar14;\n  bufchain_granule *pbVar15;\n  undefined4 uVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  X11Display *pXVar19;\n  X11FakeAuth *pXVar20;\n  Ssh_conflict ssh;\n  Conf *pCVar21;\n  ssh_channel *psVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  cchandler_fn_t handler;\n  ssh_gss_library *psVar26;\n  int iVar27;\n  ssh_channel *psVar28;\n  Ssh_conflict ssh_00;\n  int *piVar29;\n  ulong *puVar30;\n  void *pvVar31;\n  bool bVar32;\n  void **ppvVar33;\n  bufchain *ssh_01;\n  Packet *unaff_s5;\n  undefined *puVar34;\n  code *pcVar35;\n  char *pcStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  uint uStack_98;\n  Packet *pPStack_94;\n  Packet *apPStack_90 [2];\n  int iStack_88;\n  ulong uStack_84;\n  Ssh_conflict psStack_80;\n  uchar *puStack_7c;\n  char *pcStack_78;\n  undefined *puStack_74;\n  int iStack_70;\n  uchar x [4];\n  \n  ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04;\n                    /* WARNING: Load size is inaccurate */\n  ssh_00 = *channel;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b2f04;\n  logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port);\n  if (ssh_00->version != 1) {\n    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));\n    pcVar4 = host_strduptrim(hostname);\n    ssh_pkt_addstring(pPVar3,pcVar4);\n                    /* WARNING: Subroutine does not return */\n    safefree(pcVar4);\n  }\n  iVar24 = 1;\n  pPVar3 = *(Packet **)((int)channel + 8);\n  pcVar4 = (char *)0x1d;\n  ssh = ssh_00;\n  send_packet(ssh_00,0x1d);\n  if (iVar2 == *(int *)ssh_01) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puVar30 = *(ulong **)(puVar34 + 0x73b10);\n  piVar29 = (int *)ssh->do_ssh2_authconn_state;\n  puStack_74 = (undefined *)ssh_01;\n  uStack_84 = *puVar30;\n  psStack_80 = ssh_00;\n  puStack_7c = (uchar *)channel;\n  pcStack_78 = hostname;\n  iStack_70 = port;\n  if (piVar29 != (int *)0x0) {\n    iVar2 = *piVar29;\n    if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }\n    if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }\n    if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }\n    if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }\n    if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }\n    pcVar35 = (code *)(iVar2 + 0x7704);\n    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);\n    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);\n    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar11 = ssh_pkt_getuint32(pPVar3);\n    piVar29[0x10] = uVar11;\n    if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }\n    ssh_01 = (bufchain *)piVar29[0xf];\n    if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }\n    if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }\n    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);\nLAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }\n    iVar24 = piVar29[0xf];\n    goto FUN_00040b04;\n  }\n  piVar29 = (int *)safemalloc(1,0xe8);\n  ssh->do_ssh2_authconn_state = piVar29;\n  *piVar29 = 0;\n  iVar24 = *(int *)(puVar34 + 0x73504);\n  pPVar3 = (Packet *)port;\nLAB_0003fd9c:\n  iVar2 = ssh->bare_connection;\n  p_Var8 = (handler_fn_t)(iVar24 + 0xae0);\n  ssh->packet_dispatch[6] = p_Var8;\n  ssh->packet_dispatch[0x32] = p_Var8;\n  ssh->packet_dispatch[0x33] = p_Var8;\n  ssh->packet_dispatch[0x34] = p_Var8;\n  ssh->packet_dispatch[0x35] = p_Var8;\n  ssh->packet_dispatch[0x3c] = p_Var8;\n  ssh->packet_dispatch[0x3d] = p_Var8;\n  ssh->packet_dispatch[0x50] = p_Var8;\n  ssh->packet_dispatch[0x51] = p_Var8;\n  ssh->packet_dispatch[0x52] = p_Var8;\n  ssh->packet_dispatch[0x5a] = p_Var8;\n  ssh->packet_dispatch[0x5b] = p_Var8;\n  ssh->packet_dispatch[0x5c] = p_Var8;\n  ssh->packet_dispatch[0x5d] = p_Var8;\n  ssh->packet_dispatch[0x5e] = p_Var8;\n  ssh->packet_dispatch[0x5f] = p_Var8;\n  ssh->packet_dispatch[0x60] = p_Var8;\n  ssh->packet_dispatch[0x61] = p_Var8;\n  piVar29[2] = 0;\n  piVar29[0xe] = 0;\n  piVar29[0xd] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0xb] = 0;\n  if (iVar2 == 0) {\n    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);\n    if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(&ssh->banner);\n  iVar2 = piVar29[0xd];\n  ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890);\n  piVar29[0x14] = 0;\n  if (iVar2 != 0) {\n    piVar29[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n  pcVar35 = *(code **)(puVar34 + 0x73554);\n  piVar29[0x2f] = iVar2;\n  iVar2 = (*pcVar35)(iVar2);\n  if (iVar2 == 0) {\n    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);\n    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);\n    if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }\n  }\n  pCVar21 = ssh->conf;\n  pcVar35 = *(code **)(puVar34 + 0x73040);\n  piVar29[0x21] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0x1f] = 0;\n  iVar2 = (*pcVar35)(pCVar21,0x1c);\n  if ((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)) goto LAB_0003fc30;\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c);\n  piVar29[0x1a] = 1;\n  *(undefined1 *)(piVar29 + 0x1b) = 0xb;\n  paVar12 = (agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh);\n  ssh->auth_agent_query = paVar12;\n  if (paVar12 != (agent_pending_query *)0x0) {\nLAB_00040ffc:\n    *piVar29 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pPVar3 = apPStack_90[0];\n  piVar29[0x1c] = (int)apPStack_90[0];\n  if (apPStack_90[0] == (Packet *)0x0) {\nLAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n  }\n  else {\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34);\nLAB_0003fc30:\n  piVar29[0x13] = 0;\n  if (piVar29[0xd] != 0) goto LAB_0003fe38;\n  pCVar21 = ssh->conf;\nLAB_0003fc40:\n  pcVar4 = get_remote_username(pCVar21);\n  ssh->username = pcVar4;\n  if (pcVar4 == (char *)0x0) {\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);\n    ssh_01 = (bufchain *)piVar29[0xf];\n    puVar17[1] = uVar18;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);\n    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n    iVar2 = piVar29[0xf];\n    pcVar35 = *(code **)(puVar34 + 0x7353c);\n    ssh->username = pcVar4;\n    (*pcVar35)(iVar2);\n  }\n  else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }\nLAB_0003fc6c:\n  piVar29[0x13] = 1;\n  ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n  pPVar10 = ssh2_pkt_init(0x32);\n  pcVar4 = ssh->username;\n  piVar29[0x2e] = (int)pPVar10;\n  ssh_pkt_addstring(pPVar10,pcVar4);\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4));\n  ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n  piVar29[1] = 0;\n  piVar29[3] = 0;\n  piVar29[0xd] = 0;\n  piVar29[8] = 0;\n  piVar29[0xc] = 0;\n  piVar29[9] = 0;\n  if (piVar29[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar29[0x1f] == 0) {\n    piVar29[0x20] = 0;\n    piVar29[0x1d] = piVar29[0x1c] + 9;\n    *piVar29 = 0x25a0;\n  }\n  else {\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (uStack_84 == *puVar30) {\n    return;\n  }\n  (**(code **)(puVar34 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n  iVar2 = piVar29[3];\nLAB_0003fb74:\n  pPStack_94 = (Packet *)0x0;\n  apPStack_90[0] = (Packet *)0x0;\n  if (iVar2 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  apPStack_90[0] = (Packet *)0x0;\n  pPStack_94 = (Packet *)0x0;\nLAB_0003f828:\n  ssh_01 = &ssh->banner;\n  iVar2 = bufchain_size(ssh_01);\n  if (iVar2 != 0) {\n    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);\n    if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }\n  }\n  bufchain_clear(ssh_01);\n  iVar2 = pPVar3->type;\n  if (iVar2 == 0x34) {\n    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);\n    piVar29[0xe] = 1;\n    piVar29[0xd] = 1;\nLAB_0003fe38:\n    iVar2 = piVar29[0x14];\n    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;\n    if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }\n    if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }\n    iVar2 = *(int *)(puVar34 + 0x7336c);\n    if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);\n    ssh->channels = ptVar9;\n    pCVar21 = ssh->conf;\n    pcVar35 = *(code **)(puVar34 + 0x73040);\n    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);\n    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);\n    iVar2 = (*pcVar35)(pCVar21,0x2d);\n    if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (iVar2 == 0x33) {\n    piVar29[3] = 0;\n    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n    iVar2 = pPVar3->savedpos;\n    if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }\n    iVar2 = piVar29[1];\n    iVar24 = *(int *)(puVar34 + 0x734a0);\n    if (iVar2 == 0) goto LAB_000411b0;\n    if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }\n    iVar7 = *(int *)(puVar34 + 0x72fb4);\n    if (iVar2 == 5) goto LAB_000411b4;\n    if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;\n  }\n  else {\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }\n  ssh_01 = (bufchain *)&ssh->frontend;\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c);\n  unaff_s5 = apPStack_90[0];\n  iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0]);\n  c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2);\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3);\n  iVar2 = piVar29[3];\n  goto LAB_0003fb74;\nLAB_0003fb80:\n  *piVar29 = 0x25a0;\n  goto LAB_0003fd3c;\n}\n\n" comment (function_definition "void ssh_send_port_open(void *channel,char *hostname,int port,char *org)\n\n{\n  uchar uVar1;\n  int iVar2;\n  Packet *pPVar3;\n  char *pcVar4;\n  prompts_t *ppVar5;\n  int *piVar6;\n  int iVar7;\n  handler_fn_t p_Var8;\n  tree234 *ptVar9;\n  Packet *pPVar10;\n  ulong uVar11;\n  size_t n;\n  agent_pending_query *paVar12;\n  uint uVar13;\n  ssh_gss_liblist *psVar14;\n  bufchain_granule *pbVar15;\n  undefined4 uVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  X11Display *pXVar19;\n  X11FakeAuth *pXVar20;\n  Ssh_conflict ssh;\n  Conf *pCVar21;\n  ssh_channel *psVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  cchandler_fn_t handler;\n  ssh_gss_library *psVar26;\n  int iVar27;\n  ssh_channel *psVar28;\n  Ssh_conflict ssh_00;\n  int *piVar29;\n  ulong *puVar30;\n  void *pvVar31;\n  bool bVar32;\n  void **ppvVar33;\n  bufchain *ssh_01;\n  Packet *unaff_s5;\n  undefined *puVar34;\n  code *pcVar35;\n  char *pcStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  uint uStack_98;\n  Packet *pPStack_94;\n  Packet *apPStack_90 [2];\n  int iStack_88;\n  ulong uStack_84;\n  Ssh_conflict psStack_80;\n  uchar *puStack_7c;\n  char *pcStack_78;\n  undefined *puStack_74;\n  int iStack_70;\n  uchar x [4];\n  \n  ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04;\n                    /* WARNING: Load size is inaccurate */\n  ssh_00 = *channel;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b2f04;\n  logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port);\n  if (ssh_00->version != 1) {\n    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));\n    pcVar4 = host_strduptrim(hostname);\n    ssh_pkt_addstring(pPVar3,pcVar4);\n                    /* WARNING: Subroutine does not return */\n    safefree(pcVar4);\n  }\n  iVar24 = 1;\n  pPVar3 = *(Packet **)((int)channel + 8);\n  pcVar4 = (char *)0x1d;\n  ssh = ssh_00;\n  send_packet(ssh_00,0x1d);\n  if (iVar2 == *(int *)ssh_01) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puVar30 = *(ulong **)(puVar34 + 0x73b10);\n  piVar29 = (int *)ssh->do_ssh2_authconn_state;\n  puStack_74 = (undefined *)ssh_01;\n  uStack_84 = *puVar30;\n  psStack_80 = ssh_00;\n  puStack_7c = (uchar *)channel;\n  pcStack_78 = hostname;\n  iStack_70 = port;\n  if (piVar29 != (int *)0x0) {\n    iVar2 = *piVar29;\n    if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }\n    if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }\n    if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }\n    if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }\n    if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }\n    pcVar35 = (code *)(iVar2 + 0x7704);\n    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);\n    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);\n    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar11 = ssh_pkt_getuint32(pPVar3);\n    piVar29[0x10] = uVar11;\n    if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }\n    ssh_01 = (bufchain *)piVar29[0xf];\n    if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }\n    if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }\n    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);\nLAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }\n    iVar24 = piVar29[0xf];\n    goto FUN_00040b04;\n  }\n  piVar29 = (int *)safemalloc(1,0xe8);\n  ssh->do_ssh2_authconn_state = piVar29;\n  *piVar29 = 0;\n  iVar24 = *(int *)(puVar34 + 0x73504);\n  pPVar3 = (Packet *)port;\nLAB_0003fd9c:\n  iVar2 = ssh->bare_connection;\n  p_Var8 = (handler_fn_t)(iVar24 + 0xae0);\n  ssh->packet_dispatch[6] = p_Var8;\n  ssh->packet_dispatch[0x32] = p_Var8;\n  ssh->packet_dispatch[0x33] = p_Var8;\n  ssh->packet_dispatch[0x34] = p_Var8;\n  ssh->packet_dispatch[0x35] = p_Var8;\n  ssh->packet_dispatch[0x3c] = p_Var8;\n  ssh->packet_dispatch[0x3d] = p_Var8;\n  ssh->packet_dispatch[0x50] = p_Var8;\n  ssh->packet_dispatch[0x51] = p_Var8;\n  ssh->packet_dispatch[0x52] = p_Var8;\n  ssh->packet_dispatch[0x5a] = p_Var8;\n  ssh->packet_dispatch[0x5b] = p_Var8;\n  ssh->packet_dispatch[0x5c] = p_Var8;\n  ssh->packet_dispatch[0x5d] = p_Var8;\n  ssh->packet_dispatch[0x5e] = p_Var8;\n  ssh->packet_dispatch[0x5f] = p_Var8;\n  ssh->packet_dispatch[0x60] = p_Var8;\n  ssh->packet_dispatch[0x61] = p_Var8;\n  piVar29[2] = 0;\n  piVar29[0xe] = 0;\n  piVar29[0xd] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0xb] = 0;\n  if (iVar2 == 0) {\n    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);\n    if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(&ssh->banner);\n  iVar2 = piVar29[0xd];\n  ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890);\n  piVar29[0x14] = 0;\n  if (iVar2 != 0) {\n    piVar29[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n  pcVar35 = *(code **)(puVar34 + 0x73554);\n  piVar29[0x2f] = iVar2;\n  iVar2 = (*pcVar35)(iVar2);\n  if (iVar2 == 0) {\n    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);\n    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);\n    if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }\n  }\n  pCVar21 = ssh->conf;\n  pcVar35 = *(code **)(puVar34 + 0x73040);\n  piVar29[0x21] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0x1f] = 0;\n  iVar2 = (*pcVar35)(pCVar21,0x1c);\n  if ((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)) goto LAB_0003fc30;\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c);\n  piVar29[0x1a] = 1;\n  *(undefined1 *)(piVar29 + 0x1b) = 0xb;\n  paVar12 = (agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh);\n  ssh->auth_agent_query = paVar12;\n  if (paVar12 != (agent_pending_query *)0x0) {\nLAB_00040ffc:\n    *piVar29 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pPVar3 = apPStack_90[0];\n  piVar29[0x1c] = (int)apPStack_90[0];\n  if (apPStack_90[0] == (Packet *)0x0) {\nLAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n  }\n  else {\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34);\nLAB_0003fc30:\n  piVar29[0x13] = 0;\n  if (piVar29[0xd] != 0) goto LAB_0003fe38;\n  pCVar21 = ssh->conf;\nLAB_0003fc40:\n  pcVar4 = get_remote_username(pCVar21);\n  ssh->username = pcVar4;\n  if (pcVar4 == (char *)0x0) {\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);\n    ssh_01 = (bufchain *)piVar29[0xf];\n    puVar17[1] = uVar18;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);\n    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n    iVar2 = piVar29[0xf];\n    pcVar35 = *(code **)(puVar34 + 0x7353c);\n    ssh->username = pcVar4;\n    (*pcVar35)(iVar2);\n  }\n  else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }\nLAB_0003fc6c:\n  piVar29[0x13] = 1;\n  ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n  pPVar10 = ssh2_pkt_init(0x32);\n  pcVar4 = ssh->username;\n  piVar29[0x2e] = (int)pPVar10;\n  ssh_pkt_addstring(pPVar10,pcVar4);\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4));\n  ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n  piVar29[1] = 0;\n  piVar29[3] = 0;\n  piVar29[0xd] = 0;\n  piVar29[8] = 0;\n  piVar29[0xc] = 0;\n  piVar29[9] = 0;\n  if (piVar29[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar29[0x1f] == 0) {\n    piVar29[0x20] = 0;\n    piVar29[0x1d] = piVar29[0x1c] + 9;\n    *piVar29 = 0x25a0;\n  }\n  else {\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (uStack_84 == *puVar30) {\n    return;\n  }\n  (**(code **)(puVar34 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n  iVar2 = piVar29[3];\nLAB_0003fb74:\n  pPStack_94 = (Packet *)0x0;\n  apPStack_90[0] = (Packet *)0x0;\n  if (iVar2 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  apPStack_90[0] = (Packet *)0x0;\n  pPStack_94 = (Packet *)0x0;\nLAB_0003f828:\n  ssh_01 = &ssh->banner;\n  iVar2 = bufchain_size(ssh_01);\n  if (iVar2 != 0) {\n    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);\n    if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }\n  }\n  bufchain_clear(ssh_01);\n  iVar2 = pPVar3->type;\n  if (iVar2 == 0x34) {\n    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);\n    piVar29[0xe] = 1;\n    piVar29[0xd] = 1;\nLAB_0003fe38:\n    iVar2 = piVar29[0x14];\n    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;\n    if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }\n    if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }\n    iVar2 = *(int *)(puVar34 + 0x7336c);\n    if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);\n    ssh->channels = ptVar9;\n    pCVar21 = ssh->conf;\n    pcVar35 = *(code **)(puVar34 + 0x73040);\n    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);\n    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);\n    iVar2 = (*pcVar35)(pCVar21,0x2d);\n    if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (iVar2 == 0x33) {\n    piVar29[3] = 0;\n    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n    iVar2 = pPVar3->savedpos;\n    if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }\n    iVar2 = piVar29[1];\n    iVar24 = *(int *)(puVar34 + 0x734a0);\n    if (iVar2 == 0) goto LAB_000411b0;\n    if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }\n    iVar7 = *(int *)(puVar34 + 0x72fb4);\n    if (iVar2 == 5) goto LAB_000411b4;\n    if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;\n  }\n  else {\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }\n  ssh_01 = (bufchain *)&ssh->frontend;\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c);\n  unaff_s5 = apPStack_90[0];\n  iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0]);\n  c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2);\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3);\n  iVar2 = piVar29[3];\n  goto LAB_0003fb74;\nLAB_0003fb80:\n  *piVar29 = 0x25a0;\n  goto LAB_0003fd3c;\n}" primitive_type (function_declarator "ssh_send_port_open(void *channel,char *hostname,int port,char *org)" identifier (parameter_list "(void *channel,char *hostname,int port,char *org)" ( (parameter_declaration "void *channel" primitive_type (pointer_declarator "*channel" * identifier)) , (parameter_declaration "char *hostname" primitive_type (pointer_declarator "*hostname" * identifier)) , (parameter_declaration "int port" primitive_type identifier) , (parameter_declaration "char *org" primitive_type (pointer_declarator "*org" * identifier)) ))) (compound_statement "{\n  uchar uVar1;\n  int iVar2;\n  Packet *pPVar3;\n  char *pcVar4;\n  prompts_t *ppVar5;\n  int *piVar6;\n  int iVar7;\n  handler_fn_t p_Var8;\n  tree234 *ptVar9;\n  Packet *pPVar10;\n  ulong uVar11;\n  size_t n;\n  agent_pending_query *paVar12;\n  uint uVar13;\n  ssh_gss_liblist *psVar14;\n  bufchain_granule *pbVar15;\n  undefined4 uVar16;\n  undefined4 *puVar17;\n  undefined4 uVar18;\n  X11Display *pXVar19;\n  X11FakeAuth *pXVar20;\n  Ssh_conflict ssh;\n  Conf *pCVar21;\n  ssh_channel *psVar22;\n  int iVar23;\n  int iVar24;\n  char *pcVar25;\n  cchandler_fn_t handler;\n  ssh_gss_library *psVar26;\n  int iVar27;\n  ssh_channel *psVar28;\n  Ssh_conflict ssh_00;\n  int *piVar29;\n  ulong *puVar30;\n  void *pvVar31;\n  bool bVar32;\n  void **ppvVar33;\n  bufchain *ssh_01;\n  Packet *unaff_s5;\n  undefined *puVar34;\n  code *pcVar35;\n  char *pcStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  uint uStack_98;\n  Packet *pPStack_94;\n  Packet *apPStack_90 [2];\n  int iStack_88;\n  ulong uStack_84;\n  Ssh_conflict psStack_80;\n  uchar *puStack_7c;\n  char *pcStack_78;\n  undefined *puStack_74;\n  int iStack_70;\n  uchar x [4];\n  \n  ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04;\n                    /* WARNING: Load size is inaccurate */\n  ssh_00 = *channel;\n  iVar2 = *(int *)PTR___stack_chk_guard_000b2f04;\n  logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port);\n  if (ssh_00->version != 1) {\n    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));\n    pcVar4 = host_strduptrim(hostname);\n    ssh_pkt_addstring(pPVar3,pcVar4);\n                    /* WARNING: Subroutine does not return */\n    safefree(pcVar4);\n  }\n  iVar24 = 1;\n  pPVar3 = *(Packet **)((int)channel + 8);\n  pcVar4 = (char *)0x1d;\n  ssh = ssh_00;\n  send_packet(ssh_00,0x1d);\n  if (iVar2 == *(int *)ssh_01) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  puVar30 = *(ulong **)(puVar34 + 0x73b10);\n  piVar29 = (int *)ssh->do_ssh2_authconn_state;\n  puStack_74 = (undefined *)ssh_01;\n  uStack_84 = *puVar30;\n  psStack_80 = ssh_00;\n  puStack_7c = (uchar *)channel;\n  pcStack_78 = hostname;\n  iStack_70 = port;\n  if (piVar29 != (int *)0x0) {\n    iVar2 = *piVar29;\n    if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }\n    if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }\n    if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }\n    if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }\n    if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }\n    pcVar35 = (code *)(iVar2 + 0x7704);\n    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);\n    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);\n    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar11 = ssh_pkt_getuint32(pPVar3);\n    piVar29[0x10] = uVar11;\n    if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }\n    ssh_01 = (bufchain *)piVar29[0xf];\n    if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }\n    if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }\n    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);\nLAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }\n    iVar24 = piVar29[0xf];\n    goto FUN_00040b04;\n  }\n  piVar29 = (int *)safemalloc(1,0xe8);\n  ssh->do_ssh2_authconn_state = piVar29;\n  *piVar29 = 0;\n  iVar24 = *(int *)(puVar34 + 0x73504);\n  pPVar3 = (Packet *)port;\nLAB_0003fd9c:\n  iVar2 = ssh->bare_connection;\n  p_Var8 = (handler_fn_t)(iVar24 + 0xae0);\n  ssh->packet_dispatch[6] = p_Var8;\n  ssh->packet_dispatch[0x32] = p_Var8;\n  ssh->packet_dispatch[0x33] = p_Var8;\n  ssh->packet_dispatch[0x34] = p_Var8;\n  ssh->packet_dispatch[0x35] = p_Var8;\n  ssh->packet_dispatch[0x3c] = p_Var8;\n  ssh->packet_dispatch[0x3d] = p_Var8;\n  ssh->packet_dispatch[0x50] = p_Var8;\n  ssh->packet_dispatch[0x51] = p_Var8;\n  ssh->packet_dispatch[0x52] = p_Var8;\n  ssh->packet_dispatch[0x5a] = p_Var8;\n  ssh->packet_dispatch[0x5b] = p_Var8;\n  ssh->packet_dispatch[0x5c] = p_Var8;\n  ssh->packet_dispatch[0x5d] = p_Var8;\n  ssh->packet_dispatch[0x5e] = p_Var8;\n  ssh->packet_dispatch[0x5f] = p_Var8;\n  ssh->packet_dispatch[0x60] = p_Var8;\n  ssh->packet_dispatch[0x61] = p_Var8;\n  piVar29[2] = 0;\n  piVar29[0xe] = 0;\n  piVar29[0xd] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0xb] = 0;\n  if (iVar2 == 0) {\n    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);\n    if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(&ssh->banner);\n  iVar2 = piVar29[0xd];\n  ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890);\n  piVar29[0x14] = 0;\n  if (iVar2 != 0) {\n    piVar29[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n  pcVar35 = *(code **)(puVar34 + 0x73554);\n  piVar29[0x2f] = iVar2;\n  iVar2 = (*pcVar35)(iVar2);\n  if (iVar2 == 0) {\n    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);\n    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);\n    if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }\n  }\n  pCVar21 = ssh->conf;\n  pcVar35 = *(code **)(puVar34 + 0x73040);\n  piVar29[0x21] = 0;\n  piVar29[0x1c] = 0;\n  piVar29[0x1f] = 0;\n  iVar2 = (*pcVar35)(pCVar21,0x1c);\n  if ((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)) goto LAB_0003fc30;\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c);\n  piVar29[0x1a] = 1;\n  *(undefined1 *)(piVar29 + 0x1b) = 0xb;\n  paVar12 = (agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh);\n  ssh->auth_agent_query = paVar12;\n  if (paVar12 != (agent_pending_query *)0x0) {\nLAB_00040ffc:\n    *piVar29 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pPVar3 = apPStack_90[0];\n  piVar29[0x1c] = (int)apPStack_90[0];\n  if (apPStack_90[0] == (Packet *)0x0) {\nLAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n  }\n  else {\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34);\nLAB_0003fc30:\n  piVar29[0x13] = 0;\n  if (piVar29[0xd] != 0) goto LAB_0003fe38;\n  pCVar21 = ssh->conf;\nLAB_0003fc40:\n  pcVar4 = get_remote_username(pCVar21);\n  ssh->username = pcVar4;\n  if (pcVar4 == (char *)0x0) {\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);\n    ssh_01 = (bufchain *)piVar29[0xf];\n    puVar17[1] = uVar18;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);\n    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n    iVar2 = piVar29[0xf];\n    pcVar35 = *(code **)(puVar34 + 0x7353c);\n    ssh->username = pcVar4;\n    (*pcVar35)(iVar2);\n  }\n  else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }\nLAB_0003fc6c:\n  piVar29[0x13] = 1;\n  ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n  pPVar10 = ssh2_pkt_init(0x32);\n  pcVar4 = ssh->username;\n  piVar29[0x2e] = (int)pPVar10;\n  ssh_pkt_addstring(pPVar10,pcVar4);\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n  ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4));\n  ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n  piVar29[1] = 0;\n  piVar29[3] = 0;\n  piVar29[0xd] = 0;\n  piVar29[8] = 0;\n  piVar29[0xc] = 0;\n  piVar29[9] = 0;\n  if (piVar29[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar29[0x1f] == 0) {\n    piVar29[0x20] = 0;\n    piVar29[0x1d] = piVar29[0x1c] + 9;\n    *piVar29 = 0x25a0;\n  }\n  else {\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (uStack_84 == *puVar30) {\n    return;\n  }\n  (**(code **)(puVar34 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n  iVar2 = piVar29[3];\nLAB_0003fb74:\n  pPStack_94 = (Packet *)0x0;\n  apPStack_90[0] = (Packet *)0x0;\n  if (iVar2 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  apPStack_90[0] = (Packet *)0x0;\n  pPStack_94 = (Packet *)0x0;\nLAB_0003f828:\n  ssh_01 = &ssh->banner;\n  iVar2 = bufchain_size(ssh_01);\n  if (iVar2 != 0) {\n    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);\n    if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }\n  }\n  bufchain_clear(ssh_01);\n  iVar2 = pPVar3->type;\n  if (iVar2 == 0x34) {\n    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);\n    piVar29[0xe] = 1;\n    piVar29[0xd] = 1;\nLAB_0003fe38:\n    iVar2 = piVar29[0x14];\n    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;\n    if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }\n    if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }\n    iVar2 = *(int *)(puVar34 + 0x7336c);\n    if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);\n    ssh->channels = ptVar9;\n    pCVar21 = ssh->conf;\n    pcVar35 = *(code **)(puVar34 + 0x73040);\n    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);\n    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);\n    iVar2 = (*pcVar35)(pCVar21,0x2d);\n    if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (iVar2 == 0x33) {\n    piVar29[3] = 0;\n    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n    iVar2 = pPVar3->savedpos;\n    if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }\n    iVar2 = piVar29[1];\n    iVar24 = *(int *)(puVar34 + 0x734a0);\n    if (iVar2 == 0) goto LAB_000411b0;\n    if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }\n    iVar7 = *(int *)(puVar34 + 0x72fb4);\n    if (iVar2 == 5) goto LAB_000411b4;\n    if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;\n  }\n  else {\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }\n  ssh_01 = (bufchain *)&ssh->frontend;\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c);\n  unaff_s5 = apPStack_90[0];\n  iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0]);\n  c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2);\n  c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3);\n  iVar2 = piVar29[3];\n  goto LAB_0003fb74;\nLAB_0003fb80:\n  *piVar29 = 0x25a0;\n  goto LAB_0003fd3c;\n}" { (declaration "uchar uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Packet *pPVar3;" type_identifier (pointer_declarator "*pPVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "prompts_t *ppVar5;" type_identifier (pointer_declarator "*ppVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "handler_fn_t p_Var8;" type_identifier identifier ;) (declaration "tree234 *ptVar9;" type_identifier (pointer_declarator "*ptVar9" * identifier) ;) (declaration "Packet *pPVar10;" type_identifier (pointer_declarator "*pPVar10" * identifier) ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "size_t n;" primitive_type identifier ;) (declaration "agent_pending_query *paVar12;" type_identifier (pointer_declarator "*paVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "ssh_gss_liblist *psVar14;" type_identifier (pointer_declarator "*psVar14" * identifier) ;) (declaration "bufchain_granule *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "X11Display *pXVar19;" type_identifier (pointer_declarator "*pXVar19" * identifier) ;) (declaration "X11FakeAuth *pXVar20;" type_identifier (pointer_declarator "*pXVar20" * identifier) ;) (declaration "Ssh_conflict ssh;" type_identifier identifier ;) (declaration "Conf *pCVar21;" type_identifier (pointer_declarator "*pCVar21" * identifier) ;) (declaration "ssh_channel *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "cchandler_fn_t handler;" type_identifier identifier ;) (declaration "ssh_gss_library *psVar26;" type_identifier (pointer_declarator "*psVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "ssh_channel *psVar28;" type_identifier (pointer_declarator "*psVar28" * identifier) ;) (declaration "Ssh_conflict ssh_00;" type_identifier identifier ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "ulong *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "void *pvVar31;" primitive_type (pointer_declarator "*pvVar31" * identifier) ;) (declaration "bool bVar32;" primitive_type identifier ;) (declaration "void **ppvVar33;" primitive_type (pointer_declarator "**ppvVar33" * (pointer_declarator "*ppvVar33" * identifier)) ;) (declaration "bufchain *ssh_01;" type_identifier (pointer_declarator "*ssh_01" * identifier) ;) (declaration "Packet *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "char *pcStack_ac;" primitive_type (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined1 auStack_a4 [4];" type_identifier (array_declarator "auStack_a4 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "Packet *pPStack_94;" type_identifier (pointer_declarator "*pPStack_94" * identifier) ;) (declaration "Packet *apPStack_90 [2];" type_identifier (pointer_declarator "*apPStack_90 [2]" * (array_declarator "apPStack_90 [2]" identifier [ number_literal ])) ;) (declaration "int iStack_88;" primitive_type identifier ;) (declaration "ulong uStack_84;" type_identifier identifier ;) (declaration "Ssh_conflict psStack_80;" type_identifier identifier ;) (declaration "uchar *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "char *pcStack_78;" primitive_type (pointer_declarator "*pcStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "int iStack_70;" primitive_type identifier ;) (declaration "uchar x [4];" type_identifier (array_declarator "x [4]" identifier [ number_literal ]) ;) (expression_statement "ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "ssh_01 = (bufchain *)PTR___stack_chk_guard_000b2f04" identifier = (cast_expression "(bufchain *)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) comment (expression_statement "ssh_00 = *channel;" (assignment_expression "ssh_00 = *channel" identifier = (pointer_expression "*channel" * identifier)) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "iVar2 = *(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 "logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port);" (call_expression "logeventf(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port)" identifier (argument_list "(ssh_00,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,hostname,port)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ba4" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (ssh_00->version != 1) {\n    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));\n    pcVar4 = host_strduptrim(hostname);\n    ssh_pkt_addstring(pPVar3,pcVar4);\n                    /* WARNING: Subroutine does not return */\n    safefree(pcVar4);\n  }" if (parenthesized_expression "(ssh_00->version != 1)" ( (binary_expression "ssh_00->version != 1" (field_expression "ssh_00->version" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));\n    pcVar4 = host_strduptrim(hostname);\n    ssh_pkt_addstring(pPVar3,pcVar4);\n                    /* WARNING: Subroutine does not return */\n    safefree(pcVar4);\n  }" { (expression_statement "pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8));" (assignment_expression "pPVar3 = ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8))" identifier = (call_expression "ssh2_chanopen_init((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8))" identifier (argument_list "((ssh_channel *)((int)channel + 8),(char *)((int)channel + 0x34),\n                                (ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8))" ( (cast_expression "(ssh_channel *)((int)channel + 8)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)channel + 8)" ( (binary_expression "(int)channel + 8" (cast_expression "(int)channel" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (cast_expression "(char *)((int)channel + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)channel + 0x34)" ( (binary_expression "(int)channel + 0x34" (cast_expression "(int)channel" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (cast_expression "(ssh_channel *)(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bc8" identifier + number_literal) ))) )))) ;) (expression_statement "pcVar4 = host_strduptrim(hostname);" (assignment_expression "pcVar4 = host_strduptrim(hostname)" identifier = (call_expression "host_strduptrim(hostname)" identifier (argument_list "(hostname)" ( identifier )))) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) comment (expression_statement "safefree(pcVar4);" (call_expression "safefree(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) (expression_statement "iVar24 = 1;" (assignment_expression "iVar24 = 1" identifier = number_literal) ;) (expression_statement "pPVar3 = *(Packet **)((int)channel + 8);" (assignment_expression "pPVar3 = *(Packet **)((int)channel + 8)" identifier = (pointer_expression "*(Packet **)((int)channel + 8)" * (cast_expression "(Packet **)((int)channel + 8)" ( (type_descriptor "Packet **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)channel + 8)" ( (binary_expression "(int)channel + 8" (cast_expression "(int)channel" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pcVar4 = (char *)0x1d;" (assignment_expression "pcVar4 = (char *)0x1d" identifier = (cast_expression "(char *)0x1d" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ssh = ssh_00;" (assignment_expression "ssh = ssh_00" identifier = identifier) ;) (expression_statement "send_packet(ssh_00,0x1d);" (call_expression "send_packet(ssh_00,0x1d)" identifier (argument_list "(ssh_00,0x1d)" ( identifier , number_literal ))) ;) (if_statement "if (iVar2 == *(int *)ssh_01) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)ssh_01)" ( (binary_expression "iVar2 == *(int *)ssh_01" identifier == (pointer_expression "*(int *)ssh_01" * (cast_expression "(int *)ssh_01" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar34 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar34 = 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 "puVar30 = *(ulong **)(puVar34 + 0x73b10);" (assignment_expression "puVar30 = *(ulong **)(puVar34 + 0x73b10)" identifier = (pointer_expression "*(ulong **)(puVar34 + 0x73b10)" * (cast_expression "(ulong **)(puVar34 + 0x73b10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73b10)" ( (binary_expression "puVar34 + 0x73b10" identifier + number_literal) ))))) ;) (expression_statement "piVar29 = (int *)ssh->do_ssh2_authconn_state;" (assignment_expression "piVar29 = (int *)ssh->do_ssh2_authconn_state" identifier = (cast_expression "(int *)ssh->do_ssh2_authconn_state" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "ssh->do_ssh2_authconn_state" identifier -> field_identifier))) ;) (expression_statement "puStack_74 = (undefined *)ssh_01;" (assignment_expression "puStack_74 = (undefined *)ssh_01" identifier = (cast_expression "(undefined *)ssh_01" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_84 = *puVar30;" (assignment_expression "uStack_84 = *puVar30" identifier = (pointer_expression "*puVar30" * identifier)) ;) (expression_statement "psStack_80 = ssh_00;" (assignment_expression "psStack_80 = ssh_00" identifier = identifier) ;) (expression_statement "puStack_7c = (uchar *)channel;" (assignment_expression "puStack_7c = (uchar *)channel" identifier = (cast_expression "(uchar *)channel" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStack_78 = hostname;" (assignment_expression "pcStack_78 = hostname" identifier = identifier) ;) (expression_statement "iStack_70 = port;" (assignment_expression "iStack_70 = port" identifier = identifier) ;) (if_statement "if (piVar29 != (int *)0x0) {\n    iVar2 = *piVar29;\n    if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }\n    if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }\n    if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }\n    if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }\n    if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }\n    pcVar35 = (code *)(iVar2 + 0x7704);\n    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);\n    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);\n    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar11 = ssh_pkt_getuint32(pPVar3);\n    piVar29[0x10] = uVar11;\n    if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }\n    ssh_01 = (bufchain *)piVar29[0xf];\n    if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }\n    if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }\n    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);\nLAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }\n    iVar24 = piVar29[0xf];\n    goto FUN_00040b04;\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    iVar2 = *piVar29;\n    if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }\n    if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }\n    if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }\n    if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }\n    if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }\n    pcVar35 = (code *)(iVar2 + 0x7704);\n    ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);\n    (*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);\n    (*pcVar35)(pPVar3,auStack_a4,&uStack_98);\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar11 = ssh_pkt_getuint32(pPVar3);\n    piVar29[0x10] = uVar11;\n    if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }\n    ssh_01 = (bufchain *)piVar29[0xf];\n    if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }\n    if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }\n    iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);\nLAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }\n    iVar24 = piVar29[0xf];\n    goto FUN_00040b04;\n  }" { (expression_statement "iVar2 = *piVar29;" (assignment_expression "iVar2 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (if_statement "if (iVar2 == 0x27b6) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }" if (parenthesized_expression "(iVar2 == 0x27b6)" ( (binary_expression "iVar2 == 0x27b6" identifier == number_literal) )) (compound_statement "{\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n      piVar29[0x35] = (int)pPStack_94;\n      piVar29[0x34] = uStack_98;\n      if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }\n      iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);\n      piVar29[0x39] = iVar2;\n      if (iVar2 != 0) goto LAB_00042b98;\n      piVar29[0x34] = 0;\n      piVar29[0x35] = 0;\n      piVar29[0x36] = 0;\n      piVar29[0x37] = 0;\n      ssh_01 = (bufchain *)piVar29[0x30];\nLAB_0004138c:\n      iVar2 = piVar29[0x38];\n      unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);\n      uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);\n      uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;\n      piVar29[0x39] = uVar13;\n      if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }\nLAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }\nLAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);\n      (**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);\n      (**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);\n      iVar2 = piVar29[3];\n      goto LAB_0003fb74;\n    }" { (if_statement "if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar29 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*piVar29 = 0x27b6;" (assignment_expression "*piVar29 = 0x27b6" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type != 0x3c) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(pPVar3->type != 0x3c)" ( (binary_expression "pPVar3->type != 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5270)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5270" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);" (call_expression "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98)" identifier (argument_list "(pPVar3,(char **)&pPStack_94,(int *)&uStack_98)" ( identifier , (cast_expression "(char **)&pPStack_94" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pPStack_94" & identifier)) , (cast_expression "(int *)&uStack_98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_98" & identifier)) ))) ;) (expression_statement "piVar29[0x35] = (int)pPStack_94;" (assignment_expression "piVar29[0x35] = (int)pPStack_94" (subscript_expression "piVar29[0x35]" identifier [ number_literal ]) = (cast_expression "(int)pPStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar29[0x34] = uStack_98;" (assignment_expression "piVar29[0x34] = uStack_98" (subscript_expression "piVar29[0x34]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "((((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         ))" ( (binary_expression "(((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||\n         (iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )" (parenthesized_expression "(((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1)))" ( (binary_expression "((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||\n          (piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))" (parenthesized_expression "((uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06'))" ( (binary_expression "(uStack_98 != piVar29[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')" (parenthesized_expression "(uStack_98 != piVar29[0x32] + 2U)" ( (binary_expression "uStack_98 != piVar29[0x32] + 2U" identifier != (binary_expression "piVar29[0x32] + 2U" (subscript_expression "piVar29[0x32]" identifier [ number_literal ]) + number_literal)) )) || (parenthesized_expression "(*(char *)&pPStack_94->length != '\x06')" ( (binary_expression "*(char *)&pPStack_94->length != '\x06'" (pointer_expression "*(char *)&pPStack_94->length" * (cast_expression "(char *)&pPStack_94->length" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_94->length" & (field_expression "pPStack_94->length" identifier -> field_identifier)))) != (char_literal "'\x06'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))" ( (binary_expression "piVar29[0x32] != (int)*(char *)((int)&pPStack_94->length + 1)" (subscript_expression "piVar29[0x32]" identifier [ number_literal ]) != (cast_expression "(int)*(char *)((int)&pPStack_94->length + 1)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)&pPStack_94->length + 1)" * (cast_expression "(char *)((int)&pPStack_94->length + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPStack_94->length + 1)" ( (binary_expression "(int)&pPStack_94->length + 1" (cast_expression "(int)&pPStack_94->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPStack_94->length" & (field_expression "pPStack_94->length" identifier -> field_identifier))) + number_literal) )))))) ))) )) || (parenthesized_expression "(iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0\n         )" ( (comma_expression "iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33]), iVar2 != 0" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33])" identifier = (call_expression "(**(code **)(puVar34 + 0x73af8))\n                            ((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33])" (parenthesized_expression "(**(code **)(puVar34 + 0x73af8))" ( (pointer_expression "**(code **)(puVar34 + 0x73af8)" * (pointer_expression "*(code **)(puVar34 + 0x73af8)" * (cast_expression "(code **)(puVar34 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73af8)" ( (binary_expression "puVar34 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "((undefined1 *)((int)&pPStack_94->length + 2),piVar29[0x33])" ( (cast_expression "(undefined1 *)((int)&pPStack_94->length + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPStack_94->length + 2)" ( (binary_expression "(int)&pPStack_94->length + 2" (cast_expression "(int)&pPStack_94->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPStack_94->length" & (field_expression "pPStack_94->length" identifier -> field_identifier))) + number_literal) ))) , (subscript_expression "piVar29[0x33]" identifier [ number_literal ]) )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5298)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5298" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "ssh_01 = (bufchain *)(piVar29 + 0x38);" (assignment_expression "ssh_01 = (bufchain *)(piVar29 + 0x38)" identifier = (cast_expression "(bufchain *)(piVar29 + 0x38)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar29 + 0x38)" ( (binary_expression "piVar29 + 0x38" identifier + number_literal) )))) ;) (expression_statement "iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01);" (assignment_expression "iVar2 = (**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01)" identifier = (call_expression "(**(code **)(piVar29[0x30] + 0xc))(piVar29[0x30],ssh->fullhostname,ssh_01)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0xc))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0xc)" * (pointer_expression "*(code **)(piVar29[0x30] + 0xc)" * (cast_expression "(code **)(piVar29[0x30] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0xc)" ( (binary_expression "piVar29[0x30] + 0xc" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],ssh->fullhostname,ssh_01)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , (field_expression "ssh->fullhostname" identifier -> field_identifier) , identifier )))) ;) (expression_statement "piVar29[0x39] = iVar2;" (assignment_expression "piVar29[0x39] = iVar2" (subscript_expression "piVar29[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 != 0) {\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);\n        iVar2 = piVar29[3];\n        goto LAB_0003fb74;\n      }" { (if_statement "if (iVar2 == 3) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);\n          iVar2 = piVar29[3];\n          goto LAB_0003fb74;\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52cc)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x52cc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x52fc)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x52fc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31);" (assignment_expression "iVar2 = (**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31)" identifier = (call_expression "(**(code **)(piVar29[0x30] + 0x1c))(piVar29[0x30],piVar29 + 0x31)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0x1c))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0x1c)" * (pointer_expression "*(code **)(piVar29[0x30] + 0x1c)" * (cast_expression "(code **)(piVar29[0x30] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0x1c)" ( (binary_expression "piVar29[0x30] + 0x1c" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],piVar29 + 0x31)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x31" identifier + number_literal) )))) ;) (expression_statement "piVar29[0x39] = iVar2;" (assignment_expression "piVar29[0x39] = iVar2" (subscript_expression "piVar29[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 != 0) goto LAB_00042b98;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042b98;" goto statement_identifier ;)) (expression_statement "piVar29[0x34] = 0;" (assignment_expression "piVar29[0x34] = 0" (subscript_expression "piVar29[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x35] = 0;" (assignment_expression "piVar29[0x35] = 0" (subscript_expression "piVar29[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x36] = 0;" (assignment_expression "piVar29[0x36] = 0" (subscript_expression "piVar29[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x37] = 0;" (assignment_expression "piVar29[0x37] = 0" (subscript_expression "piVar29[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ssh_01 = (bufchain *)piVar29[0x30];" (assignment_expression "ssh_01 = (bufchain *)piVar29[0x30]" identifier = (cast_expression "(bufchain *)piVar29[0x30]" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0004138c:\n      iVar2 = piVar29[0x38];" statement_identifier : (expression_statement "iVar2 = piVar29[0x38];" (assignment_expression "iVar2 = piVar29[0x38]" identifier = (subscript_expression "piVar29[0x38]" identifier [ number_literal ])) ;)) (expression_statement "unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8);" (assignment_expression "unaff_s5 = *(Packet **)((int)(ssh_01 + 1) + 8)" identifier = (pointer_expression "*(Packet **)((int)(ssh_01 + 1) + 8)" * (cast_expression "(Packet **)((int)(ssh_01 + 1) + 8)" ( (type_descriptor "Packet **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)(ssh_01 + 1) + 8)" ( (binary_expression "(int)(ssh_01 + 1) + 8" (cast_expression "(int)(ssh_01 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ssh_01 + 1)" ( (binary_expression "ssh_01 + 1" identifier + number_literal) ))) + number_literal) ))))) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x28)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x28)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x28)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)\n      ;" (assignment_expression "uVar13 = (*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)" identifier = (call_expression "(*(code *)unaff_s5)(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)" (parenthesized_expression "(*(code *)unaff_s5)" ( (pointer_expression "*(code *)unaff_s5" * (cast_expression "(code *)unaff_s5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ssh_01,piVar29 + 0x31,iVar2,uVar18,piVar29 + 0x34,piVar29 + 0x36)" ( identifier , (binary_expression "piVar29 + 0x31" identifier + number_literal) , identifier , identifier , (binary_expression "piVar29 + 0x34" identifier + number_literal) , (binary_expression "piVar29 + 0x36" identifier + number_literal) )))) ;) (expression_statement "piVar29[0x39] = uVar13;" (assignment_expression "piVar29[0x39] = uVar13" (subscript_expression "piVar29[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar13 < 2) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }" if (parenthesized_expression "(uVar13 < 2)" ( (binary_expression "uVar13 < 2" identifier < number_literal) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);\n        if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }\n        iVar2 = piVar29[0x39];\n        if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5374)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5374" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar29[0x36] != 0) {\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }" if (parenthesized_expression "(piVar29[0x36] != 0)" ( (binary_expression "piVar29[0x36] != 0" (subscript_expression "piVar29[0x36]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          pPVar3 = ssh2_pkt_init(0x3d);\n          piVar29[0x2e] = (int)pPVar3;\n          iStack_88 = 0;\n                    /* WARNING: Subroutine does not return */\n          ssh_pkt_adddata(pPVar3,&iStack_88,4);\n        }" { (expression_statement "pPVar3 = ssh2_pkt_init(0x3d);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x3d)" identifier = (call_expression "ssh2_pkt_init(0x3d)" identifier (argument_list "(0x3d)" ( number_literal )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) comment (expression_statement "ssh_pkt_adddata(pPVar3,&iStack_88,4);" (call_expression "ssh_pkt_adddata(pPVar3,&iStack_88,4)" identifier (argument_list "(pPVar3,&iStack_88,4)" ( identifier , (pointer_expression "&iStack_88" & identifier) , number_literal ))) ;) })) (expression_statement "iVar2 = piVar29[0x39];" (assignment_expression "iVar2 = piVar29[0x39]" identifier = (subscript_expression "piVar29[0x39]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 1) {\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00042310:\n          *piVar29 = 0x2807;\n          goto LAB_0003fd3c;\n        }" { (labeled_statement "LAB_00042310:\n          *piVar29 = 0x2807;" statement_identifier : (expression_statement "*piVar29 = 0x2807;" (assignment_expression "*piVar29 = 0x2807" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }" else (compound_statement "{\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);\n        iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);\n        if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }\n        iVar2 = piVar29[0x39];\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5348)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5348" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32);" (assignment_expression "iVar2 = (**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32)" identifier = (call_expression "(**(code **)(piVar29[0x30] + 0x2c))(piVar29[0x30],piVar29[0x31],piVar29 + 0x32)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0x2c))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0x2c)" * (pointer_expression "*(code **)(piVar29[0x30] + 0x2c)" * (cast_expression "(code **)(piVar29[0x30] + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0x2c)" ( (binary_expression "piVar29[0x30] + 0x2c" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],piVar29[0x31],piVar29 + 0x32)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , (subscript_expression "piVar29[0x31]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x32" identifier + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);\n                    /* WARNING: Subroutine does not return */\n          safefree((void *)piVar29[0x33]);\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33]);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,piVar29[0x33])" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,piVar29[0x33])" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (subscript_expression "piVar29[0x33]" identifier [ number_literal ]) ))) ;) comment (expression_statement "safefree((void *)piVar29[0x33]);" (call_expression "safefree((void *)piVar29[0x33])" identifier (argument_list "((void *)piVar29[0x33])" ( (cast_expression "(void *)piVar29[0x33]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x33]" identifier [ number_literal ])) ))) ;) })) (expression_statement "iVar2 = piVar29[0x39];" (assignment_expression "iVar2 = piVar29[0x39]" identifier = (subscript_expression "piVar29[0x39]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_00041414:\n      if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }" statement_identifier : (if_statement "if (iVar2 == 0) {\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);\n        pPVar3 = ssh2_pkt_init(0);\n        piVar29[0x2e] = (int)pPVar3;\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 0;\n        ssh_pkt_adddata(pPVar3,&iStack_88,4);\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53c4)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x53c4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pPVar3 = ssh2_pkt_init(0);" (assignment_expression "pPVar3 = ssh2_pkt_init(0)" identifier = (call_expression "ssh2_pkt_init(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) comment (expression_statement "iStack_88 = 0;" (assignment_expression "iStack_88 = 0" identifier = number_literal) ;) (expression_statement "ssh_pkt_adddata(pPVar3,&iStack_88,4);" (call_expression "ssh_pkt_adddata(pPVar3,&iStack_88,4)" identifier (argument_list "(pPVar3,&iStack_88,4)" ( identifier , (pointer_expression "&iStack_88" & identifier) , number_literal ))) ;) }))) (labeled_statement "LAB_00040d18:\n      ssh_01 = (bufchain *)(piVar29 + 0x38);" statement_identifier : (expression_statement "ssh_01 = (bufchain *)(piVar29 + 0x38);" (assignment_expression "ssh_01 = (bufchain *)(piVar29 + 0x38)" identifier = (cast_expression "(bufchain *)(piVar29 + 0x38)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar29 + 0x38)" ( (binary_expression "piVar29 + 0x38" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);" (call_expression "(**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0x10))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0x10)" * (pointer_expression "*(code **)(piVar29[0x30] + 0x10)" * (cast_expression "(code **)(piVar29[0x30] + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0x10)" ( (binary_expression "piVar29[0x30] + 0x10" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],ssh_01)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "(**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31);" (call_expression "(**(code **)(piVar29[0x30] + 0x20))(piVar29[0x30],piVar29 + 0x31)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0x20))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0x20)" * (pointer_expression "*(code **)(piVar29[0x30] + 0x20)" * (cast_expression "(code **)(piVar29[0x30] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0x20)" ( (binary_expression "piVar29[0x30] + 0x20" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],piVar29 + 0x31)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x31" identifier + number_literal) ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 0x27b7) {\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }" if (parenthesized_expression "(iVar2 < 0x27b7)" ( (binary_expression "iVar2 < 0x27b7" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar2 != 0x24d9) goto LAB_0003fd38;\n      if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar24) goto LAB_00040ffc;\n      apPStack_90[0] = (Packet *)ssh->agent_response;\n      piVar29[0x1e] = ssh->agent_response_len;\n      goto LAB_0003fbf0;\n    }" { (if_statement "if (iVar2 == 0x2561) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }" if (parenthesized_expression "(iVar2 == 0x2561)" ( (binary_expression "iVar2 == 0x2561" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        goto LAB_00040ca4;\n      }" { (if_statement "if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar29 = 0x2561;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar29 = 0x2561;" (assignment_expression "*piVar29 = 0x2561" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf])" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf])" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf])" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh->send_ok = 0;" (assignment_expression "ssh->send_ok = 0" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00040ca4;" goto statement_identifier ;) })) (if_statement "if (0x2561 < iVar2) {\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2561 < iVar2)" ( (binary_expression "0x2561 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }\nLAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar2 != 0x2696) {\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar2 != 0x2696)" ( (binary_expression "iVar2 != 0x2696" identifier != number_literal) )) (compound_statement "{\n          if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }\n          if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 != 0x2650) goto LAB_0003fd38;\n          if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }\n          if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }\n          piVar29[3] = 1;\n          if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar2 = piVar29[3];\n          piVar29[9] = 1;\n          piVar29[8] = 1;\n          goto LAB_0003fb74;\n        }" { (if_statement "if (0x2696 < iVar2) {\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }" if (parenthesized_expression "(0x2696 < iVar2)" ( (binary_expression "0x2696 < iVar2" number_literal < identifier) )) (compound_statement "{\n            if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }\n            if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }\n            if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }\n            piVar29[3] = 1;\n            piVar29[1] = 2;\n            goto LAB_0003f824;\n          }" { (if_statement "if (iVar2 != 0x26df) {\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }" if (parenthesized_expression "(iVar2 != 0x26df)" ( (binary_expression "iVar2 != 0x26df" identifier != number_literal) )) (compound_statement "{\n              if (iVar2 != 0x2703) goto LAB_0003fd38;\n              if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }\n              iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n              ssh->send_ok = 0;\n              goto LAB_00040240;\n            }" { (if_statement "if (iVar2 != 0x2703) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x2703)" ( (binary_expression "iVar2 != 0x2703" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 != (Packet *)0x0) {\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *piVar29 = 0x2703;\n                goto LAB_0003fd3c;\n              }" { (expression_statement "*piVar29 = 0x2703;" (assignment_expression "*piVar29 = 0x2703" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf])" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf])" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf])" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh->send_ok = 0;" (assignment_expression "ssh->send_ok = 0" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00040240;" goto statement_identifier ;) })) (if_statement "if (pPVar3 == (Packet *)0x0) {\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *piVar29 = 0x26df;\n              goto LAB_0003fd3c;\n            }" { (expression_statement "*piVar29 = 0x26df;" (assignment_expression "*piVar29 = 0x26df" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type == 0x3c) {\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }" if (parenthesized_expression "(pPVar3->type == 0x3c)" ( (binary_expression "pPVar3->type == 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);\n              if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              unaff_s5 = (Packet *)piVar29[0x19];\n              iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);\n              c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);\n              goto LAB_00041ae8;\n            }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x516c)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x516c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((**(uint **)(puVar34 + 0x730a8) & 1) == 0) goto LAB_00041ae8;" if (parenthesized_expression "((**(uint **)(puVar34 + 0x730a8) & 1) == 0)" ( (binary_expression "(**(uint **)(puVar34 + 0x730a8) & 1) == 0" (parenthesized_expression "(**(uint **)(puVar34 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar34 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar34 + 0x730a8)" * (pointer_expression "*(uint **)(puVar34 + 0x730a8)" * (cast_expression "(uint **)(puVar34 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730a8)" ( (binary_expression "puVar34 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;)) (expression_statement "ppvVar33 = &ssh->frontend;" (assignment_expression "ppvVar33 = &ssh->frontend" identifier = (pointer_expression "&ssh->frontend" & (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20)" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20)" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50e4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "unaff_s5 = (Packet *)piVar29[0x19];" (assignment_expression "unaff_s5 = (Packet *)piVar29[0x19]" identifier = (cast_expression "(Packet *)piVar29[0x19]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x19]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(unaff_s5)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(unaff_s5)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(unaff_s5)" ( identifier )))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2)" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)unaff_s5,iVar2)" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3)" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c),3)" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x518c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x518c)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x518c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;) })) (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[1] = 2;" (assignment_expression "piVar29[1] = 2" (subscript_expression "piVar29[1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x25a0) {\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar2 == 0x25a0)" ( (binary_expression "iVar2 == 0x25a0" identifier == number_literal) )) (compound_statement "{\n            if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;\n            *piVar29 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" { (if_statement "if (pPVar3 != (Packet *)0x0) goto LAB_0003f828;" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003f828;" goto statement_identifier ;)) (expression_statement "*piVar29 = 0x25a0;" (assignment_expression "*piVar29 = 0x25a0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar2 != 0x2650) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x2650)" ( (binary_expression "iVar2 != 0x2650" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 == (Packet *)0x0) {\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *piVar29 = 0x2650;\n            goto LAB_0003fd3c;\n          }" { (expression_statement "*piVar29 = 0x2650;" (assignment_expression "*piVar29 = 0x2650" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type == 0x3c) {\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }" if (parenthesized_expression "(pPVar3->type == 0x3c)" ( (binary_expression "pPVar3->type == 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n            if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );\n            apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);\n          }" { (if_statement "if ((**(uint **)(puVar34 + 0x730a8) & 1) != 0) {\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }" if (parenthesized_expression "((**(uint **)(puVar34 + 0x730a8) & 1) != 0)" ( (binary_expression "(**(uint **)(puVar34 + 0x730a8) & 1) != 0" (parenthesized_expression "(**(uint **)(puVar34 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar34 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar34 + 0x730a8)" * (pointer_expression "*(uint **)(puVar34 + 0x730a8)" * (cast_expression "(uint **)(puVar34 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730a8)" ( (binary_expression "puVar34 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n              ppvVar33 = &ssh->frontend;\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);\n              c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);\n              c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);\n            }" { (expression_statement "ppvVar33 = &ssh->frontend;" (assignment_expression "ppvVar33 = &ssh->frontend" identifier = (pointer_expression "&ssh->frontend" & (field_expression "ssh->frontend" identifier -> field_identifier))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20)" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4),0x20)" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50e4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50e4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27]);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27])" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)piVar29[0x24],piVar29[0x27])" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)piVar29[0x24]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x24]" identifier [ number_literal ])) , (subscript_expression "piVar29[0x27]" identifier [ number_literal ]) ))) ;) (expression_statement "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe);" (call_expression "c_write((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe)" identifier (argument_list "((Ssh_conflict)ppvVar33,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108),0xe)" ( (cast_expression "(Ssh_conflict)ppvVar33" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5108)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5108)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5108" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) })) (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             )" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             )" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             );" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             )" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)\n                             )" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);" (assignment_expression "apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_)" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)CONCAT13(1,apPStack_90[0]._1_3_)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT13(1,apPStack_90[0]._1_3_)" identifier (argument_list "(1,apPStack_90[0]._1_3_)" ( number_literal , (field_expression "apPStack_90[0]._1_3_" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) . field_identifier) ))))) ;) comment (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],apPStack_90,1)" identifier (argument_list "((Packet *)piVar29[0x2e],apPStack_90,1)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , identifier , number_literal ))) ;) })) (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar29[0x1f] == 0) {\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }" if (parenthesized_expression "(piVar29[0x1f] == 0)" ( (binary_expression "piVar29[0x1f] == 0" (subscript_expression "piVar29[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar24 = piVar29[0x20];\n            iVar2 = piVar29[3];\n            piVar29[0x20] = iVar24 + 1;\n            if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;\n            piVar29[9] = 1;\n            goto LAB_0003fb74;\n          }" { (expression_statement "iVar24 = piVar29[0x20];" (assignment_expression "iVar24 = piVar29[0x20]" identifier = (subscript_expression "piVar29[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (expression_statement "piVar29[0x20] = iVar24 + 1;" (assignment_expression "piVar29[0x20] = iVar24 + 1" (subscript_expression "piVar29[0x20]" identifier [ number_literal ]) = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (if_statement "if (iVar24 + 1 < piVar29[0x21]) goto LAB_0003fb74;" if (parenthesized_expression "(iVar24 + 1 < piVar29[0x21])" ( (binary_expression "iVar24 + 1 < piVar29[0x21]" (binary_expression "iVar24 + 1" identifier + number_literal) < (subscript_expression "piVar29[0x21]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;)) (expression_statement "piVar29[9] = 1;" (assignment_expression "piVar29[9] = 1" (subscript_expression "piVar29[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (expression_statement "piVar29[9] = 1;" (assignment_expression "piVar29[9] = 1" (subscript_expression "piVar29[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[8] = 1;" (assignment_expression "piVar29[8] = 1" (subscript_expression "piVar29[8]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (pPVar3 == (Packet *)0x0) {\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n          apPStack_90[0] = (Packet *)ssh->agent_response;\n          piVar29[0x29] = ssh->agent_response_len;\n                    /* WARNING: Subroutine does not return */\n          piVar29[0x2d] = (int)apPStack_90[0];\n          safefree((void *)piVar29[0x2c]);\n        }" { (if_statement "if (0 < iVar24) {\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (compound_statement "{\n            *piVar29 = 0x2696;\n            goto LAB_0003fd3c;\n          }" { (expression_statement "*piVar29 = 0x2696;" (assignment_expression "*piVar29 = 0x2696" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "apPStack_90[0] = (Packet *)ssh->agent_response;" (assignment_expression "apPStack_90[0] = (Packet *)ssh->agent_response" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)ssh->agent_response" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ssh->agent_response" identifier -> field_identifier))) ;) (expression_statement "piVar29[0x29] = ssh->agent_response_len;" (assignment_expression "piVar29[0x29] = ssh->agent_response_len" (subscript_expression "piVar29[0x29]" identifier [ number_literal ]) = (field_expression "ssh->agent_response_len" identifier -> field_identifier)) ;) comment (expression_statement "piVar29[0x2d] = (int)apPStack_90[0];" (assignment_expression "piVar29[0x2d] = (int)apPStack_90[0]" (subscript_expression "piVar29[0x2d]" identifier [ number_literal ]) = (cast_expression "(int)apPStack_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apPStack_90[0]" identifier [ number_literal ]))) ;) (expression_statement "safefree((void *)piVar29[0x2c]);" (call_expression "safefree((void *)piVar29[0x2c])" identifier (argument_list "((void *)piVar29[0x2c])" ( (cast_expression "(void *)piVar29[0x2c]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2c]" identifier [ number_literal ])) ))) ;) })) (labeled_statement "LAB_00040040:\n        pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));" statement_identifier : (expression_statement "pcVar4 = dupprintf((char *)(iVar2 + 0x4d34));" (assignment_expression "pcVar4 = dupprintf((char *)(iVar2 + 0x4d34))" identifier = (call_expression "dupprintf((char *)(iVar2 + 0x4d34))" identifier (argument_list "((char *)(iVar2 + 0x4d34))" ( (cast_expression "(char *)(iVar2 + 0x4d34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x4d34)" ( (binary_expression "iVar2 + 0x4d34" identifier + number_literal) ))) )))) ;)) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x246f) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }" if (parenthesized_expression "(iVar2 == 0x246f)" ( (binary_expression "iVar2 == 0x246f" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042034;\n        if (pPVar3->type != 6) goto LAB_000400a0;\n        piVar29[2] = 1;\n        goto LAB_0003fe10;\n      }" { (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_00042034;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00042034;" goto statement_identifier ;)) (if_statement "if (pPVar3->type != 6) goto LAB_000400a0;" if (parenthesized_expression "(pPVar3->type != 6)" ( (binary_expression "pPVar3->type != 6" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_000400a0;" goto statement_identifier ;)) (expression_statement "piVar29[2] = 1;" (assignment_expression "piVar29[2] = 1" (subscript_expression "piVar29[2]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe10;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 0x2470) {\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" if (parenthesized_expression "(iVar2 < 0x2470)" ( (binary_expression "iVar2 < 0x2470" identifier < number_literal) )) (compound_statement "{\n        iVar24 = *(int *)(puVar34 + 0x73504);\n        if (iVar2 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" { (expression_statement "iVar24 = *(int *)(puVar34 + 0x73504);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 != 0) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (goto_statement "goto LAB_0003fd9c;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x247a) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" if (parenthesized_expression "(iVar2 == 0x247a)" ( (binary_expression "iVar2 == 0x247a" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;\n        if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" { (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_000400f8;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000400f8;" goto statement_identifier ;)) (if_statement "if (pPVar3->type != 6) {\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(pPVar3->type != 6)" ( (binary_expression "pPVar3->type != 6" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));\n          goto LAB_00040050;\n        }" { (expression_statement "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44));" (assignment_expression "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44))" identifier = (call_expression "dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44))" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44))" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c44)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c44" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fe04;" goto statement_identifier ;) })) (if_statement "if (iVar2 != 0x24d9) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x24d9)" ( (binary_expression "iVar2 != 0x24d9" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 != (Packet *)0x0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        goto LAB_00040040;\n      }" { (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040040;" goto statement_identifier ;) })) (if_statement "if (0 < iVar24) goto LAB_00040ffc;" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (goto_statement "goto LAB_00040ffc;" goto statement_identifier ;)) (expression_statement "apPStack_90[0] = (Packet *)ssh->agent_response;" (assignment_expression "apPStack_90[0] = (Packet *)ssh->agent_response" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)ssh->agent_response" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ssh->agent_response" identifier -> field_identifier))) ;) (expression_statement "piVar29[0x1e] = ssh->agent_response_len;" (assignment_expression "piVar29[0x1e] = ssh->agent_response_len" (subscript_expression "piVar29[0x1e]" identifier [ number_literal ]) = (field_expression "ssh->agent_response_len" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003fbf0;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x2917) {\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }" if (parenthesized_expression "(iVar2 == 0x2917)" ( (binary_expression "iVar2 == 0x2917" identifier == number_literal) )) (compound_statement "{\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);\nLAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);\n      ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n      ppVar5 = new_prompts(ssh->frontend);\n      piVar29[0xf] = (int)ppVar5;\n      ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n      dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));\n    }" { (if_statement "if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar29 = 0x2917;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*piVar29 = 0x2917;" (assignment_expression "*piVar29 = 0x2917" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type != 0x3c) {\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }" if (parenthesized_expression "(pPVar3->type != 0x3c)" ( (binary_expression "pPVar3->type != 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x73a54);\n        piVar29[3] = 1;\n        n = (*pcVar35)(pvVar31);\n        smemclr(pvVar31,n);\n                    /* WARNING: Subroutine does not return */\n        safefree((void *)piVar29[0x12]);\n      }" { (labeled_statement "LAB_00040ef0:\n        pvVar31 = (void *)piVar29[0x12];" statement_identifier : (expression_statement "pvVar31 = (void *)piVar29[0x12];" (assignment_expression "pvVar31 = (void *)piVar29[0x12]" identifier = (cast_expression "(void *)piVar29[0x12]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x12]" identifier [ number_literal ]))) ;)) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73a54);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73a54)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) ;) (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "n = (*pcVar35)(pvVar31);" (assignment_expression "n = (*pcVar35)(pvVar31)" identifier = (call_expression "(*pcVar35)(pvVar31)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pvVar31)" ( identifier )))) ;) (expression_statement "smemclr(pvVar31,n);" (call_expression "smemclr(pvVar31,n)" identifier (argument_list "(pvVar31,n)" ( identifier , identifier ))) ;) comment (expression_statement "safefree((void *)piVar29[0x12]);" (call_expression "safefree((void *)piVar29[0x12])" identifier (argument_list "((void *)piVar29[0x12])" ( (cast_expression "(void *)piVar29[0x12]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x12]" identifier [ number_literal ])) ))) ;) })) (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c00)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c00)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c00" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_0003f4b4:\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);" statement_identifier : (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,pcVar4)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , identifier ))) ;)) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , identifier , identifier ))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08),2)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d08)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4d08)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4d08" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);" (call_expression "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90)" identifier (argument_list "(pPVar3,(char **)&pPStack_94,(int *)apPStack_90)" ( identifier , (cast_expression "(char **)&pPStack_94" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pPStack_94" & identifier)) , (cast_expression "(int *)apPStack_90" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "ppVar5 = new_prompts(ssh->frontend);" (assignment_expression "ppVar5 = new_prompts(ssh->frontend)" identifier = (call_expression "new_prompts(ssh->frontend)" identifier (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) )))) ;) (expression_statement "piVar29[0xf] = (int)ppVar5;" (assignment_expression "piVar29[0xf] = (int)ppVar5" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) = (cast_expression "(int)ppVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ppVar5->to_server = 1;" (assignment_expression "ppVar5->to_server = 1" (field_expression "ppVar5->to_server" identifier -> field_identifier) = number_literal) ;) comment (expression_statement "dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4));" (call_expression "dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4))" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4))" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x54a4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x54a4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) (if_statement "if (0x2917 < iVar2) {\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }" if (parenthesized_expression "(0x2917 < iVar2)" ( (binary_expression "0x2917 < iVar2" number_literal < identifier) )) (compound_statement "{\n      if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }\n      if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }\n      if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      if (iVar2 != 0x2999) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) goto LAB_00040ef0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);\n      goto LAB_0003f4b4;\n    }" { (if_statement "if (iVar2 == 0x2a03) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }" if (parenthesized_expression "(iVar2 == 0x2a03)" ( (binary_expression "iVar2 == 0x2a03" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 == (Packet *)0x0) goto LAB_00040660;\n        iVar2 = pPVar3->type;\n        if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }\n        uVar11 = ssh_pkt_getuint32(pPVar3);\n        psVar22 = ssh->mainchan;\n        if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }\n        pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);\n        pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);\n        bomb_out(ssh,pcVar25);\nLAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);\n      }" { (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_00040660;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00040660;" goto statement_identifier ;)) (expression_statement "iVar2 = pPVar3->type;" (assignment_expression "iVar2 = pPVar3->type" identifier = (field_expression "pPVar3->type" identifier -> field_identifier)) ;) (if_statement "if (1 < iVar2 - 0x5bU) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(1 < iVar2 - 0x5bU)" ( (binary_expression "1 < iVar2 - 0x5bU" number_literal < (binary_expression "iVar2 - 0x5bU" identifier - number_literal)) )) (compound_statement "{\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);\n          goto LAB_00040078;\n        }" { (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5618)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5618)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5618" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (expression_statement "uVar11 = ssh_pkt_getuint32(pPVar3);" (assignment_expression "uVar11 = ssh_pkt_getuint32(pPVar3)" identifier = (call_expression "ssh_pkt_getuint32(pPVar3)" identifier (argument_list "(pPVar3)" ( identifier )))) ;) (expression_statement "psVar22 = ssh->mainchan;" (assignment_expression "psVar22 = ssh->mainchan" identifier = (field_expression "ssh->mainchan" identifier -> field_identifier)) ;) (if_statement "if (uVar11 != psVar22->localid) {\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(uVar11 != psVar22->localid)" ( (binary_expression "uVar11 != psVar22->localid" identifier != (field_expression "psVar22->localid" identifier -> field_identifier)) )) (compound_statement "{\n          pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" { (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x5660)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x5660)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5660" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type != 0x5c) {\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }" if (parenthesized_expression "(pPVar3->type != 0x5c)" ( (binary_expression "pPVar3->type != 0x5c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          pPVar10 = pPVar3;\n          uVar11 = ssh_pkt_getuint32(pPVar3);\n          psVar28 = ssh->mainchan;\n          psVar22->remoteid = uVar11;\n          psVar28->halfopen = 0;\n          psVar28->type = 0;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          psVar22 = ssh->mainchan;\n          (psVar28->v).v2.remwindow = uVar11;\n          uVar11 = ssh_pkt_getuint32(pPVar10);\n          pvVar31 = ssh->frontend;\n          pcVar35 = *(code **)(puVar34 + 0x7348c);\n          (psVar22->v).v2.remmaxpkt = uVar11;\n          (*pcVar35)(pvVar31);\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);\n          goto LAB_0003ff14;\n        }" { (expression_statement "pPVar10 = pPVar3;" (assignment_expression "pPVar10 = pPVar3" identifier = identifier) ;) (expression_statement "uVar11 = ssh_pkt_getuint32(pPVar3);" (assignment_expression "uVar11 = ssh_pkt_getuint32(pPVar3)" identifier = (call_expression "ssh_pkt_getuint32(pPVar3)" identifier (argument_list "(pPVar3)" ( identifier )))) ;) (expression_statement "psVar28 = ssh->mainchan;" (assignment_expression "psVar28 = ssh->mainchan" identifier = (field_expression "ssh->mainchan" identifier -> field_identifier)) ;) (expression_statement "psVar22->remoteid = uVar11;" (assignment_expression "psVar22->remoteid = uVar11" (field_expression "psVar22->remoteid" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar28->halfopen = 0;" (assignment_expression "psVar28->halfopen = 0" (field_expression "psVar28->halfopen" identifier -> field_identifier) = number_literal) ;) (expression_statement "psVar28->type = 0;" (assignment_expression "psVar28->type = 0" (field_expression "psVar28->type" identifier -> field_identifier) = number_literal) ;) (expression_statement "uVar11 = ssh_pkt_getuint32(pPVar10);" (assignment_expression "uVar11 = ssh_pkt_getuint32(pPVar10)" identifier = (call_expression "ssh_pkt_getuint32(pPVar10)" identifier (argument_list "(pPVar10)" ( identifier )))) ;) (expression_statement "psVar22 = ssh->mainchan;" (assignment_expression "psVar22 = ssh->mainchan" identifier = (field_expression "ssh->mainchan" identifier -> field_identifier)) ;) (expression_statement "(psVar28->v).v2.remwindow = uVar11;" (assignment_expression "(psVar28->v).v2.remwindow = uVar11" (field_expression "(psVar28->v).v2.remwindow" (field_expression "(psVar28->v).v2" (parenthesized_expression "(psVar28->v)" ( (field_expression "psVar28->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "uVar11 = ssh_pkt_getuint32(pPVar10);" (assignment_expression "uVar11 = ssh_pkt_getuint32(pPVar10)" identifier = (call_expression "ssh_pkt_getuint32(pPVar10)" identifier (argument_list "(pPVar10)" ( identifier )))) ;) (expression_statement "pvVar31 = ssh->frontend;" (assignment_expression "pvVar31 = ssh->frontend" identifier = (field_expression "ssh->frontend" identifier -> field_identifier)) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x7348c);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x7348c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x7348c)" * (cast_expression "(code **)(puVar34 + 0x7348c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7348c)" ( (binary_expression "puVar34 + 0x7348c" identifier + number_literal) ))))) ;) (expression_statement "(psVar22->v).v2.remmaxpkt = uVar11;" (assignment_expression "(psVar22->v).v2.remmaxpkt = uVar11" (field_expression "(psVar22->v).v2.remmaxpkt" (field_expression "(psVar22->v).v2" (parenthesized_expression "(psVar22->v)" ( (field_expression "psVar22->v" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(*pcVar35)(pvVar31);" (call_expression "(*pcVar35)(pvVar31)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pvVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x56cc)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x56cc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ff14;" goto statement_identifier ;) })) (expression_statement "pcVar4 = ssh2_channel_open_failure_error_text(pPVar3);" (assignment_expression "pcVar4 = ssh2_channel_open_failure_error_text(pPVar3)" identifier = (call_expression "ssh2_channel_open_failure_error_text(pPVar3)" identifier (argument_list "(pPVar3)" ( identifier )))) ;) (expression_statement "pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4);" (assignment_expression "pcVar25 = (char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))\n                                    (*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x56a4,pcVar4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x56a4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "bomb_out(ssh,pcVar25);" (call_expression "bomb_out(ssh,pcVar25)" identifier (argument_list "(ssh,pcVar25)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00041054:\n                    /* WARNING: Subroutine does not return */\n        safefree(pcVar4);" statement_identifier : comment (expression_statement "safefree(pcVar4);" (call_expression "safefree(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;)) })) (if_statement "if (0x2a03 < iVar2) {\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2a03 < iVar2)" ( (binary_expression "0x2a03 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }\n        if (pPVar3 == (Packet *)0x0) goto LAB_00041870;\n        iVar2 = pPVar3->type;\n        if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }\n        if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar2 != 0x2a90) {\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }" if (parenthesized_expression "(iVar2 != 0x2a90)" ( (binary_expression "iVar2 != 0x2a90" identifier != number_literal) )) (compound_statement "{\n          if (iVar2 != 0x2abd) goto LAB_0003fd38;\n          if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }\n          if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;\n          ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);\n          goto LAB_0003f7c4;\n        }" { (if_statement "if (iVar2 != 0x2abd) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x2abd)" ( (binary_expression "iVar2 != 0x2abd" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 != (Packet *)0x0) {\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar2 = pPVar3->type;\n            pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);\n            goto LAB_00040078;\n          }" { (expression_statement "iVar2 = pPVar3->type;" (assignment_expression "iVar2 = pPVar3->type" identifier = (field_expression "pPVar3->type" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5808)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5808)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5808" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if (ssh->mainchan == (ssh_channel *)0x0) goto LAB_0003f7c4;" if (parenthesized_expression "(ssh->mainchan == (ssh_channel *)0x0)" ( (binary_expression "ssh->mainchan == (ssh_channel *)0x0" (field_expression "ssh->mainchan" identifier -> field_identifier) == (cast_expression "(ssh_channel *)0x0" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;)) (expression_statement "ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24);" (call_expression "ssh_send_channel_data(ssh->mainchan,pcVar4,iVar24)" identifier (argument_list "(ssh->mainchan,pcVar4,iVar24)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;) })) (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_00041870;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00041870;" goto statement_identifier ;)) (expression_statement "iVar2 = pPVar3->type;" (assignment_expression "iVar2 = pPVar3->type" identifier = (field_expression "pPVar3->type" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 99) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" if (parenthesized_expression "(iVar2 == 99)" ( (binary_expression "iVar2 == 99" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x57f0)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x57f0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ffec;" goto statement_identifier ;) })) (if_statement "if (iVar2 != 100) {\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(iVar2 != 100)" ( (binary_expression "iVar2 != 100" identifier != number_literal) )) (compound_statement "{\n          pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);\n          goto LAB_00040078;\n        }" { (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x575c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x575c)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x575c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if ((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }" if (parenthesized_expression "((ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0'))" ( (binary_expression "(ssh->fallback_cmd == 0) &&\n           (pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')" (parenthesized_expression "(ssh->fallback_cmd == 0)" ( (binary_expression "ssh->fallback_cmd == 0" (field_expression "ssh->fallback_cmd" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0')" ( (comma_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15), *pcVar4 != '\0'" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73094))(ssh->conf,0x15)" (parenthesized_expression "(**(code **)(puVar34 + 0x73094))" ( (pointer_expression "**(code **)(puVar34 + 0x73094)" * (pointer_expression "*(code **)(puVar34 + 0x73094)" * (cast_expression "(code **)(puVar34 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73094)" ( (binary_expression "puVar34 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x15)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))))) , (binary_expression "*pcVar4 != '\0'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);\n          ssh->fallback_cmd = 1;\n          goto LAB_0004261c;\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x579c)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x579c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ssh->fallback_cmd = 1;" (assignment_expression "ssh->fallback_cmd = 1" (field_expression "ssh->fallback_cmd" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_0004261c;" goto statement_identifier ;) })) (expression_statement "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8));" (assignment_expression "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8))" identifier = (call_expression "dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8))" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8))" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x57c8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x57c8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x57c8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x2956) {\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }" if (parenthesized_expression "(iVar2 == 0x2956)" ( (binary_expression "iVar2 == 0x2956" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }\n        (**(code **)(puVar34 + 0x7353c))();\n        iVar2 = piVar29[0x12];\n        uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n        (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n        iVar24 = piVar29[0x12];\n        pcVar35 = *(code **)(puVar34 + 0x72fdc);\n        goto LAB_00040b08;\n      }" { (if_statement "if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar29 = 0x2956;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar29 = 0x2956;" (assignment_expression "*piVar29 = 0x2956" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf])" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf])" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf])" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh->send_ok = 0;" (assignment_expression "ssh->send_ok = 0" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (while_statement "while( true ) {\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }\n          if (iVar2 == 0) break;\n          piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }\n          iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));\n          if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }\n          c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);\n          iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\n        }" { (if_statement "if (iVar2 < 0) {\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n            ssh->send_ok = 1;\n            *piVar29 = 0x2956;\n            goto LAB_0003fd3c;\n          }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x2956;" (assignment_expression "*piVar29 = 0x2956" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0) break;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar6 = *(int **)(piVar29[0xf] + 0x18);" (assignment_expression "piVar6 = *(int **)(piVar29[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar29[0xf] + 0x18)" * (cast_expression "(int **)(piVar29[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0xf] + 0x18)" ( (binary_expression "piVar29[0xf] + 0x18" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (**(char **)(*piVar6 + 8) != '\0') {\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }" if (parenthesized_expression "(**(char **)(*piVar6 + 8) != '\0')" ( (binary_expression "**(char **)(*piVar6 + 8) != '\0'" (pointer_expression "**(char **)(*piVar6 + 8)" * (pointer_expression "*(char **)(*piVar6 + 8)" * (cast_expression "(char **)(*piVar6 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar6 + 8)" ( (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" * identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar2 = piVar29[0x12];\n            uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);\n            (**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);\n            (**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);\n            iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n            piVar29[0x12] = iVar2;\n            piVar6 = *(int **)(piVar29[0xf] + 0x18);\n          }" { (expression_statement "iVar2 = piVar29[0x12];" (assignment_expression "iVar2 = piVar29[0x12]" identifier = (subscript_expression "piVar29[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);" (call_expression "(**(code **)(puVar34 + 0x7306c))(iVar2,uVar18)" (parenthesized_expression "(**(code **)(puVar34 + 0x7306c))" ( (pointer_expression "**(code **)(puVar34 + 0x7306c)" * (pointer_expression "*(code **)(puVar34 + 0x7306c)" * (cast_expression "(code **)(puVar34 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7306c)" ( (binary_expression "puVar34 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar2,uVar18)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x72fdc))(piVar29[0x12]);" (call_expression "(**(code **)(puVar34 + 0x72fdc))(piVar29[0x12])" (parenthesized_expression "(**(code **)(puVar34 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar34 + 0x72fdc)" * (pointer_expression "*(code **)(puVar34 + 0x72fdc)" * (cast_expression "(code **)(puVar34 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fdc)" ( (binary_expression "puVar34 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x12])" ( (subscript_expression "piVar29[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" identifier = (call_expression "(**(code **)(puVar34 + 0x7301c))\n                              (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar29[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar29[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar29[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar29[0xf] + 0x18)" * (cast_expression "(int **)(piVar29[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0xf] + 0x18)" ( (binary_expression "piVar29[0xf] + 0x18" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "piVar29[0x12] = iVar2;" (assignment_expression "piVar29[0x12] = iVar2" (subscript_expression "piVar29[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = *(int **)(piVar29[0xf] + 0x18);" (assignment_expression "piVar6 = *(int **)(piVar29[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar29[0xf] + 0x18)" * (cast_expression "(int **)(piVar29[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0xf] + 0x18)" ( (binary_expression "piVar29[0xf] + 0x18" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8));" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8))" identifier = (call_expression "(**(code **)(puVar34 + 0x73b4c))\n                            (*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8))" (parenthesized_expression "(**(code **)(puVar34 + 0x73b4c))" ( (pointer_expression "**(code **)(puVar34 + 0x73b4c)" * (pointer_expression "*(code **)(puVar34 + 0x73b4c)" * (cast_expression "(code **)(puVar34 + 0x73b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73b4c)" ( (binary_expression "puVar34 + 0x73b4c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(piVar6[1] + 8),*(undefined4 *)(piVar6[2] + 8))" ( (pointer_expression "*(undefined4 *)(piVar6[1] + 8)" * (cast_expression "(undefined4 *)(piVar6[1] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[1] + 8)" ( (binary_expression "piVar6[1] + 8" (subscript_expression "piVar6[1]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar6[2] + 8)" * (cast_expression "(undefined4 *)(piVar6[2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[2] + 8)" ( (binary_expression "piVar6[2] + 8" (subscript_expression "piVar6[2]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (if_statement "if (iVar2 == 0) {\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            pPVar3 = ssh2_pkt_init(0x32);\n            pcVar4 = ssh->username;\n            piVar29[0x2e] = (int)pPVar3;\n            ssh_pkt_addstring(pPVar3,pcVar4);\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );\n            ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );\n            uStack_98 = CONCAT13(1,uStack_98._1_3_);\n                    /* WARNING: Subroutine does not return */\n            ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n          }" { (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             );" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             )" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)\n                             )" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             );" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             )" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)\n                             )" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x54ac)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "uStack_98 = CONCAT13(1,uStack_98._1_3_);" (assignment_expression "uStack_98 = CONCAT13(1,uStack_98._1_3_)" identifier = (call_expression "CONCAT13(1,uStack_98._1_3_)" identifier (argument_list "(1,uStack_98._1_3_)" ( number_literal , (field_expression "uStack_98._1_3_" identifier . field_identifier) )))) ;) comment (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1)" identifier (argument_list "((Packet *)piVar29[0x2e],&uStack_98,1)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (pointer_expression "&uStack_98" & identifier) , number_literal ))) ;) })) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524),0x18)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5524)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5524)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5524" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf],0,0)" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) })) (expression_statement "(**(code **)(puVar34 + 0x7353c))();" (call_expression "(**(code **)(puVar34 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar34 + 0x7353c))" ( (pointer_expression "**(code **)(puVar34 + 0x7353c)" * (pointer_expression "*(code **)(puVar34 + 0x7353c)" * (cast_expression "(code **)(puVar34 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7353c)" ( (binary_expression "puVar34 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = piVar29[0x12];" (assignment_expression "iVar2 = piVar29[0x12]" identifier = (subscript_expression "piVar29[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73a54))(iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar34 + 0x7306c))(iVar2,uVar18);" (call_expression "(**(code **)(puVar34 + 0x7306c))(iVar2,uVar18)" (parenthesized_expression "(**(code **)(puVar34 + 0x7306c))" ( (pointer_expression "**(code **)(puVar34 + 0x7306c)" * (pointer_expression "*(code **)(puVar34 + 0x7306c)" * (cast_expression "(code **)(puVar34 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7306c)" ( (binary_expression "puVar34 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar2,uVar18)" ( identifier , identifier ))) ;) (expression_statement "iVar24 = piVar29[0x12];" (assignment_expression "iVar24 = piVar29[0x12]" identifier = (subscript_expression "piVar29[0x12]" identifier [ number_literal ])) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x72fdc);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x72fdc)" identifier = (pointer_expression "*(code **)(puVar34 + 0x72fdc)" * (cast_expression "(code **)(puVar34 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fdc)" ( (binary_expression "puVar34 + 0x72fdc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040b08;" goto statement_identifier ;) })) (if_statement "if (iVar2 != 0x2999) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x2999)" ( (binary_expression "iVar2 != 0x2999" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar29 = 0x2999;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*piVar29 = 0x2999;" (assignment_expression "*piVar29 = 0x2999" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type != 0x3c) goto LAB_00040ef0;" if (parenthesized_expression "(pPVar3->type != 0x3c)" ( (binary_expression "pPVar3->type != 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_00040ef0;" goto statement_identifier ;)) (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4be0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4be0)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4be0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0003f4b4;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x28a4) {\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }" if (parenthesized_expression "(iVar2 == 0x28a4)" ( (binary_expression "iVar2 == 0x28a4" identifier == number_literal) )) (compound_statement "{\n      if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n      ssh->send_ok = 0;\n      goto LAB_00040af0;\n    }" { (if_statement "if (pPVar3 != (Packet *)0x0) {\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar29 = 0x28a4;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*piVar29 = 0x28a4;" (assignment_expression "*piVar29 = 0x28a4" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf])" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf])" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf])" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh->send_ok = 0;" (assignment_expression "ssh->send_ok = 0" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00040af0;" goto statement_identifier ;) })) (if_statement "if (iVar2 < 0x28a5) {\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }\n    else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }" if (parenthesized_expression "(iVar2 < 0x28a5)" ( (binary_expression "iVar2 < 0x28a5" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }\n      if (iVar2 != 0x284b) goto LAB_0003fd38;\n      if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }\n    }" { (if_statement "if (iVar2 == 0x2807) {\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }" if (parenthesized_expression "(iVar2 == 0x2807)" ( (binary_expression "iVar2 == 0x2807" identifier == number_literal) )) (compound_statement "{\n        if (pPVar3 == (Packet *)0x0) goto LAB_00042310;\n        if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }\n        ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);\n        iVar2 = piVar29[0x39];\n        piVar29[0x35] = (int)pPStack_94;\n        piVar29[0x34] = uStack_98;\n        if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }\n        goto LAB_00041414;\n      }" { (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_00042310;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00042310;" goto statement_identifier ;)) (if_statement "if (pPVar3->type != 0x3d) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }" if (parenthesized_expression "(pPVar3->type != 0x3d)" ( (binary_expression "pPVar3->type != 0x3d" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);\n          piVar29[0x39] = 4;\n          goto LAB_00040d18;\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5398)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5398" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar29[0x39] = 4;" (assignment_expression "piVar29[0x39] = 4" (subscript_expression "piVar29[0x39]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00040d18;" goto statement_identifier ;) })) (expression_statement "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98);" (call_expression "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)&uStack_98)" identifier (argument_list "(pPVar3,(char **)&pPStack_94,(int *)&uStack_98)" ( identifier , (cast_expression "(char **)&pPStack_94" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pPStack_94" & identifier)) , (cast_expression "(int *)&uStack_98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_98" & identifier)) ))) ;) (expression_statement "iVar2 = piVar29[0x39];" (assignment_expression "iVar2 = piVar29[0x39]" identifier = (subscript_expression "piVar29[0x39]" identifier [ number_literal ])) ;) (expression_statement "piVar29[0x35] = (int)pPStack_94;" (assignment_expression "piVar29[0x35] = (int)pPStack_94" (subscript_expression "piVar29[0x35]" identifier [ number_literal ]) = (cast_expression "(int)pPStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar29[0x34] = uStack_98;" (assignment_expression "piVar29[0x34] = uStack_98" (subscript_expression "piVar29[0x34]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 1) {\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n          ssh_01 = (bufchain *)piVar29[0x30];\n          goto LAB_0004138c;\n        }" { (expression_statement "ssh_01 = (bufchain *)piVar29[0x30];" (assignment_expression "ssh_01 = (bufchain *)piVar29[0x30]" identifier = (cast_expression "(bufchain *)piVar29[0x30]" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x30]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004138c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00041414;" goto statement_identifier ;) })) (if_statement "if (iVar2 != 0x284b) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x284b)" ( (binary_expression "iVar2 != 0x284b" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 == (Packet *)0x0) goto LAB_0004072c;" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004072c;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar34 + 0x7336c);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }" if (parenthesized_expression "(pPVar3->type != 0x3c)" ( (binary_expression "pPVar3->type != 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        piVar29[3] = 1;\n        piVar29[1] = 7;\n        piVar29[0xc] = 1;\n        goto LAB_0003f824;\n      }" { (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[1] = 7;" (assignment_expression "piVar29[1] = 7" (subscript_expression "piVar29[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xc] = 1;" (assignment_expression "piVar29[0xc] = 1" (subscript_expression "piVar29[0xc]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }" else (compound_statement "{\n      if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }\n      if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }\n      iVar2 = *(int *)(puVar34 + 0x7336c);\n    }" { (if_statement "if (iVar2 != 0x28ca) {\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }" if (parenthesized_expression "(iVar2 != 0x28ca)" ( (binary_expression "iVar2 != 0x28ca" identifier != number_literal) )) (compound_statement "{\n        if (iVar2 != 0x28e8) goto LAB_0003fd38;\n        if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);\n        ssh->send_ok = 0;\n        if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }\n        iVar24 = piVar29[0xf];\n        if (iVar2 == 0) goto FUN_00040b04;\n                    /* WARNING: Subroutine does not return */\n        dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n      }" { (if_statement "if (iVar2 != 0x28e8) goto LAB_0003fd38;" if (parenthesized_expression "(iVar2 != 0x28e8)" ( (binary_expression "iVar2 != 0x28e8" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pPVar3 != (Packet *)0x0) {\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pPVar3 != (Packet *)0x0)" ( (binary_expression "pPVar3 != (Packet *)0x0" identifier != (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar29 = 0x28e8;" (assignment_expression "*piVar29 = 0x28e8" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf])" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf])" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf])" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh->send_ok = 0;" (assignment_expression "ssh->send_ok = 0" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (if_statement "if (iVar2 < 0) {\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          ssh->send_ok = 1;\n          *piVar29 = 0x28e8;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x28e8;" (assignment_expression "*piVar29 = 0x28e8" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar24 = piVar29[0xf];" (assignment_expression "iVar24 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) goto FUN_00040b04;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto FUN_00040b04;" goto statement_identifier ;)) comment (expression_statement "dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));" (call_expression "dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8))" identifier (argument_list "(*(char **)(**(int **)(iVar24 + 0x18) + 8))" ( (pointer_expression "*(char **)(**(int **)(iVar24 + 0x18) + 8)" * (cast_expression "(char **)(**(int **)(iVar24 + 0x18) + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar24 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar24 + 0x18) + 8" (pointer_expression "**(int **)(iVar24 + 0x18)" * (pointer_expression "*(int **)(iVar24 + 0x18)" * (cast_expression "(int **)(iVar24 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar24 + 0x18)" ( (binary_expression "iVar24 + 0x18" identifier + number_literal) ))))) + number_literal) )))) ))) ;) })) (if_statement "if (pPVar3 == (Packet *)0x0) {\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(pPVar3 == (Packet *)0x0)" ( (binary_expression "pPVar3 == (Packet *)0x0" identifier == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar29 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*piVar29 = 0x28ca;" (assignment_expression "*piVar29 = 0x28ca" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (pPVar3->type != 0x3c) {\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }" if (parenthesized_expression "(pPVar3->type != 0x3c)" ( (binary_expression "pPVar3->type != 0x3c" (field_expression "pPVar3->type" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        piVar29[3] = 1;\n        goto LAB_0003f824;\n      }" { (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (expression_statement "iVar2 = *(int *)(puVar34 + 0x7336c);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar35 = (code *)(iVar2 + 0x7704);" (assignment_expression "pcVar35 = (code *)(iVar2 + 0x7704)" identifier = (cast_expression "(code *)(iVar2 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x7704)" ( (binary_expression "iVar2 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0);" (call_expression "ssh_pkt_getstring(pPVar3,&pcStack_ac,&iStack_a0)" identifier (argument_list "(pPVar3,&pcStack_ac,&iStack_a0)" ( identifier , (pointer_expression "&pcStack_ac" & identifier) , (pointer_expression "&iStack_a0" & identifier) ))) ;) (expression_statement "(*pcVar35)(pPVar3,&uStack_a8,&iStack_9c);" (call_expression "(*pcVar35)(pPVar3,&uStack_a8,&iStack_9c)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pPVar3,&uStack_a8,&iStack_9c)" ( identifier , (pointer_expression "&uStack_a8" & identifier) , (pointer_expression "&iStack_9c" & identifier) ))) ;) (expression_statement "(*pcVar35)(pPVar3,auStack_a4,&uStack_98);" (call_expression "(*pcVar35)(pPVar3,auStack_a4,&uStack_98)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pPVar3,auStack_a4,&uStack_98)" ( identifier , identifier , (pointer_expression "&uStack_98" & identifier) ))) ;) (expression_statement "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);" (assignment_expression "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73530))(ssh->frontend)" (parenthesized_expression "(**(code **)(puVar34 + 0x73530))" ( (pointer_expression "**(code **)(puVar34 + 0x73530)" * (pointer_expression "*(code **)(puVar34 + 0x73530)" * (cast_expression "(code **)(puVar34 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73530)" ( (binary_expression "puVar34 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) ))))) ;) (expression_statement "piVar29[0xf] = (int)puVar17;" (assignment_expression "piVar29[0xf] = (int)puVar17" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "uVar11 = ssh_pkt_getuint32(pPVar3);" (assignment_expression "uVar11 = ssh_pkt_getuint32(pPVar3)" identifier = (call_expression "ssh_pkt_getuint32(pPVar3)" identifier (argument_list "(pPVar3)" ( identifier )))) ;) (expression_statement "piVar29[0x10] = uVar11;" (assignment_expression "piVar29[0x10] = uVar11" (subscript_expression "piVar29[0x10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < (int)uVar11) {\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }" if (parenthesized_expression "(0 < (int)uVar11)" ( (binary_expression "0 < (int)uVar11" number_literal < (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      iVar7 = *(int *)(puVar34 + 0x72fa4);\n      iVar24 = 0;\n      unaff_s5 = (Packet *)apPStack_90;\n      iVar2 = *(int *)(puVar34 + 0x72fb4);\n      do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);\n    }" { (expression_statement "iVar7 = *(int *)(puVar34 + 0x72fa4);" (assignment_expression "iVar7 = *(int *)(puVar34 + 0x72fa4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fa4)" * (cast_expression "(int *)(puVar34 + 0x72fa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fa4)" ( (binary_expression "puVar34 + 0x72fa4" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = (Packet *)apPStack_90;" (assignment_expression "unaff_s5 = (Packet *)apPStack_90" identifier = (cast_expression "(Packet *)apPStack_90" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (do_statement "do {\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      } while (iVar24 < piVar29[0x10]);" do (compound_statement "{\n        (*pcVar35)(pPVar3,&pPStack_94,unaff_s5);\n        iVar27 = pPVar3->savedpos;\n        if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }\n        if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }\n        iVar24 = iVar24 + 1;\n        iVar27 = piVar29[0xf];\n        uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);\n        (**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);\n      }" { (expression_statement "(*pcVar35)(pPVar3,&pPStack_94,unaff_s5);" (call_expression "(*pcVar35)(pPVar3,&pPStack_94,unaff_s5)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pPVar3,&pPStack_94,unaff_s5)" ( identifier , (pointer_expression "&pPStack_94" & identifier) , identifier ))) ;) (expression_statement "iVar27 = pPVar3->savedpos;" (assignment_expression "iVar27 = pPVar3->savedpos" identifier = (field_expression "pPVar3->savedpos" identifier -> field_identifier)) ;) (if_statement "if (pPVar3->length - iVar27 < 1) {\n          bVar32 = false;\n        }\n        else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }" if (parenthesized_expression "(pPVar3->length - iVar27 < 1)" ( (binary_expression "pPVar3->length - iVar27 < 1" (binary_expression "pPVar3->length - iVar27" (field_expression "pPVar3->length" identifier -> field_identifier) - identifier) < number_literal) )) (compound_statement "{\n          bVar32 = false;\n        }" { (expression_statement "bVar32 = false;" (assignment_expression "bVar32 = false" identifier = false) ;) }) (else_clause "else {\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }" else (compound_statement "{\n          uVar1 = pPVar3->body[iVar27];\n          pPVar3->savedpos = iVar27 + 1;\n          bVar32 = uVar1 != '\0';\n        }" { (expression_statement "uVar1 = pPVar3->body[iVar27];" (assignment_expression "uVar1 = pPVar3->body[iVar27]" identifier = (subscript_expression "pPVar3->body[iVar27]" (field_expression "pPVar3->body" identifier -> field_identifier) [ identifier ])) ;) (expression_statement "pPVar3->savedpos = iVar27 + 1;" (assignment_expression "pPVar3->savedpos = iVar27 + 1" (field_expression "pPVar3->savedpos" identifier -> field_identifier) = (binary_expression "iVar27 + 1" identifier + number_literal)) ;) (expression_statement "bVar32 = uVar1 != '\0';" (assignment_expression "bVar32 = uVar1 != '\0'" identifier = (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) }))) (if_statement "if (apPStack_90[0] == (Packet *)0x0) {\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }" if (parenthesized_expression "(apPStack_90[0] == (Packet *)0x0)" ( (binary_expression "apPStack_90[0] == (Packet *)0x0" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          apPStack_90[0] = (Packet *)&DAT_00000020;\n          pPStack_94 = (Packet *)(iVar7 + 0x2280);\n        }" { (expression_statement "apPStack_90[0] = (Packet *)&DAT_00000020;" (assignment_expression "apPStack_90[0] = (Packet *)&DAT_00000020" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)&DAT_00000020" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000020" & identifier))) ;) (expression_statement "pPStack_94 = (Packet *)(iVar7 + 0x2280);" (assignment_expression "pPStack_94 = (Packet *)(iVar7 + 0x2280)" identifier = (cast_expression "(Packet *)(iVar7 + 0x2280)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2280)" ( (binary_expression "iVar7 + 0x2280" identifier + number_literal) )))) ;) })) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (expression_statement "iVar27 = piVar29[0xf];" (assignment_expression "iVar27 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94)" identifier = (call_expression "(**(code **)(puVar34 + 0x73010))(iVar2 + 0x5428,apPStack_90[0],pPStack_94)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(iVar2 + 0x5428,apPStack_90[0],pPStack_94)" ( (binary_expression "iVar2 + 0x5428" identifier + number_literal) , (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "(**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32);" (call_expression "(**(code **)(puVar34 + 0x73534))(iVar27,uVar18,bVar32)" (parenthesized_expression "(**(code **)(puVar34 + 0x73534))" ( (pointer_expression "**(code **)(puVar34 + 0x73534)" * (pointer_expression "*(code **)(puVar34 + 0x73534)" * (cast_expression "(code **)(puVar34 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73534)" ( (binary_expression "puVar34 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(iVar27,uVar18,bVar32)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar24 < piVar29[0x10])" ( (binary_expression "iVar24 < piVar29[0x10]" identifier < (subscript_expression "piVar29[0x10]" identifier [ number_literal ])) )) ;) })) (expression_statement "ssh_01 = (bufchain *)piVar29[0xf];" (assignment_expression "ssh_01 = (bufchain *)piVar29[0xf]" identifier = (cast_expression "(bufchain *)piVar29[0xf]" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0xf]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_a0 == 0) {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }\n    else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }" if (parenthesized_expression "(iStack_a0 == 0)" ( (binary_expression "iStack_a0 == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 0;\n    }" { (expression_statement "pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430);" (assignment_expression "pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430)" identifier = (cast_expression "(bufchain_granule *)\n                (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430)" ( (type_descriptor "bufchain_granule *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5430)" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x5430)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5430" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar2 = piVar29[0xf];" (assignment_expression "iVar2 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (expression_statement "ssh_01->tail = pbVar15;" (assignment_expression "ssh_01->tail = pbVar15" (field_expression "ssh_01->tail" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }" else (compound_statement "{\n      pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);\n      iVar2 = piVar29[0xf];\n      ssh_01->tail = pbVar15;\n      *(undefined4 *)(iVar2 + 8) = 1;\n    }" { (expression_statement "pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac);" (assignment_expression "pbVar15 = (bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac)" identifier = (cast_expression "(bufchain_granule *)\n                (**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac)" ( (type_descriptor "bufchain_granule *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))\n                          (*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x541c,iStack_a0,pcStack_ac)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x541c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar2 = piVar29[0xf];" (assignment_expression "iVar2 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (expression_statement "ssh_01->tail = pbVar15;" (assignment_expression "ssh_01->tail = pbVar15" (field_expression "ssh_01->tail" identifier -> field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)(iVar2 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar2 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (piVar29[0x10] == 0 && iStack_a0 == 0) {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }\n    else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }" if (parenthesized_expression "(piVar29[0x10] == 0 && iStack_a0 == 0)" ( (binary_expression "piVar29[0x10] == 0 && iStack_a0 == 0" (binary_expression "piVar29[0x10] == 0" (subscript_expression "piVar29[0x10]" identifier [ number_literal ]) == number_literal) && (binary_expression "iStack_a0 == 0" identifier == number_literal)) )) (compound_statement "{\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }\n      *(undefined4 *)(iVar2 + 0x10) = 0;\n    }" { (expression_statement "iVar24 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) {\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00042638:\n        iVar24 = iVar24 + 0x71dc;\n        goto LAB_000422b4;\n      }" { (labeled_statement "LAB_00042638:\n        iVar24 = iVar24 + 0x71dc;" statement_identifier : (expression_statement "iVar24 = iVar24 + 0x71dc;" (assignment_expression "iVar24 = iVar24 + 0x71dc" identifier = (binary_expression "iVar24 + 0x71dc" identifier + number_literal)) ;)) (goto_statement "goto LAB_000422b4;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }" else (compound_statement "{\n      iVar24 = *(int *)(puVar34 + 0x72fb4);\n      if (iStack_9c != 0) goto LAB_00042638;\n      iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);\n      *(undefined4 *)(iVar2 + 0xc) = uVar18;\n      iVar2 = piVar29[0xf];\n      *(undefined4 *)(iVar2 + 0x10) = 1;\n    }" { (expression_statement "iVar24 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) goto LAB_00042638;" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042638;" goto statement_identifier ;)) (expression_statement "iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64;" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x72fb4) + 0x4f64" identifier = (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000422b4:\n      uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);" statement_identifier : (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8)" identifier = (call_expression "(**(code **)(puVar34 + 0x73010))\n                         (*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x544c,iVar24,iStack_9c,uStack_a8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x544c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;)) (expression_statement "*(undefined4 *)(iVar2 + 0xc) = uVar18;" (assignment_expression "*(undefined4 *)(iVar2 + 0xc) = uVar18" (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar2 = piVar29[0xf];" (assignment_expression "iVar2 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar2 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar2 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(iVar2,0,0)" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(iVar2,0,0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,0)" ( identifier , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040af0:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      ssh->send_ok = 1;\n      *piVar29 = 0x28a4;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x28a4;" (assignment_expression "*piVar29 = 0x28a4" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar2 != 0) {\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      pPVar3 = ssh2_pkt_init(0x3d);\n                    /* WARNING: Subroutine does not return */\n      piVar29[0x2e] = (int)pPVar3;\n      ssh_pkt_adduint32(pPVar3,piVar29[0x10]);\n    }" { (expression_statement "pPVar3 = ssh2_pkt_init(0x3d);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x3d)" identifier = (call_expression "ssh2_pkt_init(0x3d)" identifier (argument_list "(0x3d)" ( number_literal )))) ;) comment (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_adduint32(pPVar3,piVar29[0x10]);" (call_expression "ssh_pkt_adduint32(pPVar3,piVar29[0x10])" identifier (argument_list "(pPVar3,piVar29[0x10])" ( identifier , (subscript_expression "piVar29[0x10]" identifier [ number_literal ]) ))) ;) })) (expression_statement "iVar24 = piVar29[0xf];" (assignment_expression "iVar24 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (goto_statement "goto FUN_00040b04;" goto statement_identifier ;) })) (expression_statement "piVar29 = (int *)safemalloc(1,0xe8);" (assignment_expression "piVar29 = (int *)safemalloc(1,0xe8)" identifier = (cast_expression "(int *)safemalloc(1,0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xe8)" identifier (argument_list "(1,0xe8)" ( number_literal , number_literal ))))) ;) (expression_statement "ssh->do_ssh2_authconn_state = piVar29;" (assignment_expression "ssh->do_ssh2_authconn_state = piVar29" (field_expression "ssh->do_ssh2_authconn_state" identifier -> field_identifier) = identifier) ;) (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (expression_statement "iVar24 = *(int *)(puVar34 + 0x73504);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "pPVar3 = (Packet *)port;" (assignment_expression "pPVar3 = (Packet *)port" identifier = (cast_expression "(Packet *)port" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_0003fd9c:\n  iVar2 = ssh->bare_connection;" statement_identifier : (expression_statement "iVar2 = ssh->bare_connection;" (assignment_expression "iVar2 = ssh->bare_connection" identifier = (field_expression "ssh->bare_connection" identifier -> field_identifier)) ;)) (expression_statement "p_Var8 = (handler_fn_t)(iVar24 + 0xae0);" (assignment_expression "p_Var8 = (handler_fn_t)(iVar24 + 0xae0)" identifier = (call_expression "(handler_fn_t)(iVar24 + 0xae0)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar24 + 0xae0)" ( (binary_expression "iVar24 + 0xae0" identifier + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[6] = p_Var8;" (assignment_expression "ssh->packet_dispatch[6] = p_Var8" (subscript_expression "ssh->packet_dispatch[6]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x32] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x32] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x32]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x33] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x33] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x33]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x34] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x34] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x34]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x35] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x35] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x35]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x3c] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x3c] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x3c]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x3d] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x3d] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x3d]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x50] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x50] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x50]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x51] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x51] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x51]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x52] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x52] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x52]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5a] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5a] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5a]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5b] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5b] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5b]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5c] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5c] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5c]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5d] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5d] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5d]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5e] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5e] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5e]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x5f] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x5f] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x5f]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x60] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x60] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x60]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "ssh->packet_dispatch[0x61] = p_Var8;" (assignment_expression "ssh->packet_dispatch[0x61] = p_Var8" (subscript_expression "ssh->packet_dispatch[0x61]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "piVar29[2] = 0;" (assignment_expression "piVar29[2] = 0" (subscript_expression "piVar29[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xe] = 0;" (assignment_expression "piVar29[0xe] = 0" (subscript_expression "piVar29[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xd] = 0;" (assignment_expression "piVar29[0xd] = 0" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x1c] = 0;" (assignment_expression "piVar29[0x1c] = 0" (subscript_expression "piVar29[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xb] = 0;" (assignment_expression "piVar29[0xb] = 0" (subscript_expression "piVar29[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);\n    if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);\n    if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x23)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x23)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x23)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_00042034:\n      *piVar29 = 0x246f;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "pPVar10 = ssh2_pkt_init(5);" (assignment_expression "pPVar10 = ssh2_pkt_init(5)" identifier = (call_expression "ssh2_pkt_init(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24));" (call_expression "ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24))" identifier (argument_list "(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24))" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c24)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c24" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);" (call_expression "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e])" identifier (argument_list "(ssh,(Packet *)piVar29[0x2e])" ( identifier , (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) ))) ;) (labeled_statement "LAB_00042034:\n      *piVar29 = 0x246f;" statement_identifier : (expression_statement "*piVar29 = 0x246f;" (assignment_expression "*piVar29 = 0x246f" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_000400a0:\n    if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (piVar29[2] == 0) {\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar29[2] == 0)" ( (binary_expression "piVar29[2] == 0" (subscript_expression "piVar29[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pPVar10 = ssh2_pkt_init(5);\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\nLAB_000400f8:\n      *piVar29 = 0x247a;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "pPVar10 = ssh2_pkt_init(5);" (assignment_expression "pPVar10 = ssh2_pkt_init(5)" identifier = (call_expression "ssh2_pkt_init(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "(pPVar10,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);" (call_expression "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e])" identifier (argument_list "(ssh,(Packet *)piVar29[0x2e])" ( identifier , (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) ))) ;) (labeled_statement "LAB_000400f8:\n      *piVar29 = 0x247a;" statement_identifier : (expression_statement "*piVar29 = 0x247a;" (assignment_expression "*piVar29 = 0x247a" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) }) (else_clause "else {\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }" else (compound_statement "{\nLAB_0003fe04:\n    piVar29[0xd] = 1;\n  }" { (labeled_statement "LAB_0003fe04:\n    piVar29[0xd] = 1;" statement_identifier : (expression_statement "piVar29[0xd] = 1;" (assignment_expression "piVar29[0xd] = 1" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_0003fe10:\n  bufchain_init(&ssh->banner);" statement_identifier : (expression_statement "bufchain_init(&ssh->banner);" (call_expression "bufchain_init(&ssh->banner)" identifier (argument_list "(&ssh->banner)" ( (pointer_expression "&ssh->banner" & (field_expression "ssh->banner" identifier -> field_identifier)) ))) ;)) (expression_statement "iVar2 = piVar29[0xd];" (assignment_expression "iVar2 = piVar29[0xd]" identifier = (subscript_expression "piVar29[0xd]" identifier [ number_literal ])) ;) (expression_statement "ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890);" (assignment_expression "ssh->packet_dispatch[0x35] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890)" (subscript_expression "ssh->packet_dispatch[0x35]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x734a0) + -0x2890)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x734a0) + -0x2890)" ( (binary_expression "*(int *)(puVar34 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(puVar34 + 0x734a0)" * (cast_expression "(int *)(puVar34 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x734a0)" ( (binary_expression "puVar34 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar29[0x14] = 0;" (assignment_expression "piVar29[0x14] = 0" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar2 != 0) {\n    piVar29[0x13] = 0;\n    goto LAB_0003fe38;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar29[0x13] = 0;\n    goto LAB_0003fe38;\n  }" { (expression_statement "piVar29[0x13] = 0;" (assignment_expression "piVar29[0x13] = 0" (subscript_expression "piVar29[0x13]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20)" identifier = (call_expression "(**(code **)(puVar34 + 0x73134))(ssh->conf,0x20)" (parenthesized_expression "(**(code **)(puVar34 + 0x73134))" ( (pointer_expression "**(code **)(puVar34 + 0x73134)" * (pointer_expression "*(code **)(puVar34 + 0x73134)" * (cast_expression "(code **)(puVar34 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73134)" ( (binary_expression "puVar34 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x20)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73554);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73554)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73554)" * (cast_expression "(code **)(puVar34 + 0x73554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73554)" ( (binary_expression "puVar34 + 0x73554" identifier + number_literal) ))))) ;) (expression_statement "piVar29[0x2f] = iVar2;" (assignment_expression "piVar29[0x2f] = iVar2" (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*pcVar35)(iVar2);" (assignment_expression "iVar2 = (*pcVar35)(iVar2)" identifier = (call_expression "(*pcVar35)(iVar2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);\n    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);\n    if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n    ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);\n    iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);\n    if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }\n  }" { (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" identifier = (call_expression "(**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" (parenthesized_expression "(**(code **)(puVar34 + 0x73124))" ( (pointer_expression "**(code **)(puVar34 + 0x73124)" * (pointer_expression "*(code **)(puVar34 + 0x73124)" * (cast_expression "(code **)(puVar34 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73124)" ( (binary_expression "puVar34 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f])" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);" (assignment_expression "ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar34 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18)" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64),uVar18)" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c64)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c64" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73564))(piVar29[0x2f])" identifier = (call_expression "(**(code **)(puVar34 + 0x73564))(piVar29[0x2f])" (parenthesized_expression "(**(code **)(puVar34 + 0x73564))" ( (pointer_expression "**(code **)(puVar34 + 0x73564)" * (pointer_expression "*(code **)(puVar34 + 0x73564)" * (cast_expression "(code **)(puVar34 + 0x73564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73564)" ( (binary_expression "puVar34 + 0x73564" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f])" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar2 == 3) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }\n    else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }" if (parenthesized_expression "(iVar2 == 3)" ( (binary_expression "iVar2 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 == 0) goto LAB_000424c4;\n      piVar29[0x16] = 1;\nLAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);\n      piVar29[0x17] = iVar2;\n    }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" identifier = (call_expression "(**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" (parenthesized_expression "(**(code **)(puVar34 + 0x7356c))" ( (pointer_expression "**(code **)(puVar34 + 0x7356c)" * (pointer_expression "*(code **)(puVar34 + 0x7356c)" * (cast_expression "(code **)(puVar34 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7356c)" ( (binary_expression "puVar34 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x18" identifier + number_literal) , (binary_expression "piVar29 + 0x15" identifier + number_literal) , (binary_expression "piVar29 + 0x19" identifier + number_literal) , identifier )))) ;) (expression_statement "piVar29[0x14] = iVar2;" (assignment_expression "piVar29[0x14] = iVar2" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 == 0) goto LAB_000424c4;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000424c4;" goto statement_identifier ;)) (expression_statement "piVar29[0x16] = 1;" (assignment_expression "piVar29[0x16] = 1" (subscript_expression "piVar29[0x16]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0004292c:\n      iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);" statement_identifier : (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0)" identifier = (call_expression "(**(code **)(puVar34 + 0x73574))(piVar29[0x2f],0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73574))" ( (pointer_expression "**(code **)(puVar34 + 0x73574)" * (pointer_expression "*(code **)(puVar34 + 0x73574)" * (cast_expression "(code **)(puVar34 + 0x73574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73574)" ( (binary_expression "puVar34 + 0x73574" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f],0)" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) , number_literal )))) ;)) (expression_statement "piVar29[0x17] = iVar2;" (assignment_expression "piVar29[0x17] = iVar2" (subscript_expression "piVar29[0x17]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }" else (if_statement "if (iVar2 - 9U < 2) {\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }\n    else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }" if (parenthesized_expression "(iVar2 - 9U < 2)" ( (binary_expression "iVar2 - 9U < 2" (binary_expression "iVar2 - 9U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);\n      piVar29[0x14] = iVar2;\n      if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n    }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" identifier = (call_expression "(**(code **)(puVar34 + 0x7356c))\n                        (piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" (parenthesized_expression "(**(code **)(puVar34 + 0x7356c))" ( (pointer_expression "**(code **)(puVar34 + 0x7356c)" * (pointer_expression "*(code **)(puVar34 + 0x7356c)" * (cast_expression "(code **)(puVar34 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7356c)" ( (binary_expression "puVar34 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f],piVar29 + 0x18,piVar29 + 0x15,piVar29 + 0x19,apPStack_90)" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x18" identifier + number_literal) , (binary_expression "piVar29 + 0x15" identifier + number_literal) , (binary_expression "piVar29 + 0x19" identifier + number_literal) , identifier )))) ;) (expression_statement "piVar29[0x14] = iVar2;" (assignment_expression "piVar29[0x14] = iVar2" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        piVar29[0x16] = 0;\n        logeventf(ssh,(char *)(iVar2 + 0x582c));\n        goto LAB_0004292c;\n      }" { (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar29[0x16] = 0;" (assignment_expression "piVar29[0x16] = 0" (subscript_expression "piVar29[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "logeventf(ssh,(char *)(iVar2 + 0x582c));" (call_expression "logeventf(ssh,(char *)(iVar2 + 0x582c))" identifier (argument_list "(ssh,(char *)(iVar2 + 0x582c))" ( identifier , (cast_expression "(char *)(iVar2 + 0x582c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x582c)" ( (binary_expression "iVar2 + 0x582c" identifier + number_literal) ))) ))) ;) (goto_statement "goto LAB_0004292c;" goto statement_identifier ;) })) (labeled_statement "LAB_000424c4:\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);" statement_identifier : (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0]);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0])" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80),apPStack_90[0])" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c80)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c80)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c80" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) ))) ;)) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" identifier = (call_expression "(**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" (parenthesized_expression "(**(code **)(puVar34 + 0x73124))" ( (pointer_expression "**(code **)(puVar34 + 0x73124)" * (pointer_expression "*(code **)(puVar34 + 0x73124)" * (cast_expression "(code **)(puVar34 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73124)" ( (binary_expression "puVar34 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f])" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0])" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0])" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0])" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c98" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x72fdc))(pcVar4);" (call_expression "(**(code **)(puVar34 + 0x72fdc))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar34 + 0x72fdc)" * (pointer_expression "*(code **)(puVar34 + 0x72fdc)" * (cast_expression "(code **)(puVar34 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fdc)" ( (binary_expression "puVar34 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier ))) ;) }) (else_clause "else {\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }" else (compound_statement "{\n      uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);\n      uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);\n      uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);\n      iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n      c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n      (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n      piVar29[0x14] = 0;\n    }" { (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73568))(iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73568))(iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73568))" ( (pointer_expression "**(code **)(puVar34 + 0x73568)" * (pointer_expression "*(code **)(puVar34 + 0x73568)" * (cast_expression "(code **)(puVar34 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73568)" ( (binary_expression "puVar34 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18)" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0),uVar18)" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4cc0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4cc0)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4cc0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f]);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" identifier = (call_expression "(**(code **)(puVar34 + 0x73124))(piVar29[0x2f])" (parenthesized_expression "(**(code **)(puVar34 + 0x73124))" ( (pointer_expression "**(code **)(puVar34 + 0x73124)" * (pointer_expression "*(code **)(puVar34 + 0x73124)" * (cast_expression "(code **)(puVar34 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73124)" ( (binary_expression "puVar34 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar29[0x2f])" ( (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2);" (assignment_expression "uVar16 = (**(code **)(puVar34 + 0x73568))(iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73568))(iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73568))" ( (pointer_expression "**(code **)(puVar34 + 0x73568)" * (pointer_expression "*(code **)(puVar34 + 0x73568)" * (cast_expression "(code **)(puVar34 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73568)" ( (binary_expression "puVar34 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))\n                                 (*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x4ce4,uVar18,uVar16)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4ce4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x72fdc))(pcVar4);" (call_expression "(**(code **)(puVar34 + 0x72fdc))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar34 + 0x72fdc)" * (pointer_expression "*(code **)(puVar34 + 0x72fdc)" * (cast_expression "(code **)(puVar34 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fdc)" ( (binary_expression "puVar34 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "piVar29[0x14] = 0;" (assignment_expression "piVar29[0x14] = 0" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) = number_literal) ;) }))))) })) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73040);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar29[0x21] = 0;" (assignment_expression "piVar29[0x21] = 0" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x1c] = 0;" (assignment_expression "piVar29[0x1c] = 0" (subscript_expression "piVar29[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x1f] = 0;" (assignment_expression "piVar29[0x1f] = 0" (subscript_expression "piVar29[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar2 = (*pcVar35)(pCVar21,0x1c);" (assignment_expression "iVar2 = (*pcVar35)(pCVar21,0x1c)" identifier = (call_expression "(*pcVar35)(pCVar21,0x1c)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pCVar21,0x1c)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)) goto LAB_0003fc30;" if (parenthesized_expression "((iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0))" ( (binary_expression "(iVar2 == 0) || (iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0)" ( (comma_expression "iVar2 = (**(code **)(puVar34 + 0x73524))(), iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73524))()" identifier = (call_expression "(**(code **)(puVar34 + 0x73524))()" (parenthesized_expression "(**(code **)(puVar34 + 0x73524))" ( (pointer_expression "**(code **)(puVar34 + 0x73524)" * (pointer_expression "*(code **)(puVar34 + 0x73524)" * (cast_expression "(code **)(puVar34 + 0x73524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73524)" ( (binary_expression "puVar34 + 0x73524" identifier + number_literal) ))))) )) (argument_list "()" ( )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4d0c)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4d0c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar29[0x1a] = 1;" (assignment_expression "piVar29[0x1a] = 1" (subscript_expression "piVar29[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar29 + 0x1b) = 0xb;" (assignment_expression "*(undefined1 *)(piVar29 + 0x1b) = 0xb" (pointer_expression "*(undefined1 *)(piVar29 + 0x1b)" * (cast_expression "(undefined1 *)(piVar29 + 0x1b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar29 + 0x1b)" ( (binary_expression "piVar29 + 0x1b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "paVar12 = (agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh);" (assignment_expression "paVar12 = (agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh)" identifier = (cast_expression "(agent_pending_query *)\n            (**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh)" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73030))\n                      (piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh)" (parenthesized_expression "(**(code **)(puVar34 + 0x73030))" ( (pointer_expression "**(code **)(puVar34 + 0x73030)" * (pointer_expression "*(code **)(puVar34 + 0x73030)" * (cast_expression "(code **)(puVar34 + 0x73030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73030)" ( (binary_expression "puVar34 + 0x73030" identifier + number_literal) ))))) )) (argument_list "(piVar29 + 0x1a,5,apPStack_90,piVar29 + 0x1e,\n                       *(int *)(puVar34 + 0x73504) + 0xa58,ssh)" ( (binary_expression "piVar29 + 0x1a" identifier + number_literal) , number_literal , identifier , (binary_expression "piVar29 + 0x1e" identifier + number_literal) , (binary_expression "*(int *)(puVar34 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "ssh->auth_agent_query = paVar12;" (assignment_expression "ssh->auth_agent_query = paVar12" (field_expression "ssh->auth_agent_query" identifier -> field_identifier) = identifier) ;) (if_statement "if (paVar12 != (agent_pending_query *)0x0) {\nLAB_00040ffc:\n    *piVar29 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(paVar12 != (agent_pending_query *)0x0)" ( (binary_expression "paVar12 != (agent_pending_query *)0x0" identifier != (cast_expression "(agent_pending_query *)0x0" ( (type_descriptor "agent_pending_query *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00040ffc:\n    *piVar29 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" { (labeled_statement "LAB_00040ffc:\n    *piVar29 = 0x24d9;" statement_identifier : (expression_statement "*piVar29 = 0x24d9;" (assignment_expression "*piVar29 = 0x24d9" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0003fbf0:\n  pPVar3 = apPStack_90[0];" statement_identifier : (expression_statement "pPVar3 = apPStack_90[0];" (assignment_expression "pPVar3 = apPStack_90[0]" identifier = (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) ;)) (expression_statement "piVar29[0x1c] = (int)apPStack_90[0];" (assignment_expression "piVar29[0x1c] = (int)apPStack_90[0]" (subscript_expression "piVar29[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)apPStack_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apPStack_90[0]" identifier [ number_literal ]))) ;) (if_statement "if (apPStack_90[0] == (Packet *)0x0) {\nLAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n  }\n  else {\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" if (parenthesized_expression "(apPStack_90[0] == (Packet *)0x0)" ( (binary_expression "apPStack_90[0] == (Packet *)0x0" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) == (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n  }" { (labeled_statement "LAB_0003fc18:\n    iVar2 = *(int *)(puVar34 + 0x72fb4);" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" else (compound_statement "{\n    iVar2 = *(int *)(puVar34 + 0x72fb4);\n    if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" { (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (4 < piVar29[0x1e]) {\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" if (parenthesized_expression "(4 < piVar29[0x1e])" ( (binary_expression "4 < piVar29[0x1e]" number_literal < (subscript_expression "piVar29[0x1e]" identifier [ number_literal ])) )) (compound_statement "{\n      if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" { (if_statement "if (*(char *)&apPStack_90[0]->forcepad == '\f') {\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" if (parenthesized_expression "(*(char *)&apPStack_90[0]->forcepad == '\f')" ( (binary_expression "*(char *)&apPStack_90[0]->forcepad == '\f'" (pointer_expression "*(char *)&apPStack_90[0]->forcepad" * (cast_expression "(char *)&apPStack_90[0]->forcepad" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apPStack_90[0]->forcepad" & (field_expression "apPStack_90[0]->forcepad" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) -> field_identifier)))) == (char_literal "'\f'" ' escape_sequence ')) )) (compound_statement "{\n        iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));\n        piVar29[0x21] = iVar2;\n        if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1));" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1))" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))\n                          (*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1))" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1))" ( (pointer_expression "*(undefined4 *)((int)&apPStack_90[0]->forcepad + 1)" * (cast_expression "(undefined4 *)((int)&apPStack_90[0]->forcepad + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apPStack_90[0]->forcepad + 1)" ( (binary_expression "(int)&apPStack_90[0]->forcepad + 1" (cast_expression "(int)&apPStack_90[0]->forcepad" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apPStack_90[0]->forcepad" & (field_expression "apPStack_90[0]->forcepad" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) -> field_identifier))) + number_literal) )))) )))) ;) (expression_statement "piVar29[0x21] = iVar2;" (assignment_expression "piVar29[0x21] = iVar2" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar2 < 0) {\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }\n        else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n          logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);\n          piVar29[0x21] = 0;\n        }" { (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2)" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74),iVar2)" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4d74)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4d74)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4d74" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "piVar29[0x21] = 0;" (assignment_expression "piVar29[0x21] = 0" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }" else (compound_statement "{\n          pPVar3 = (Packet *)((int)&pPVar3->type + 1);\n          ssh_01 = (bufchain *)(piVar29[0x1e] + -9);\n          if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }\n        }" { (expression_statement "pPVar3 = (Packet *)((int)&pPVar3->type + 1);" (assignment_expression "pPVar3 = (Packet *)((int)&pPVar3->type + 1)" identifier = (cast_expression "(Packet *)((int)&pPVar3->type + 1)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar3->type + 1)" ( (binary_expression "(int)&pPVar3->type + 1" (cast_expression "(int)&pPVar3->type" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar3->type" & (field_expression "pPVar3->type" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ssh_01 = (bufchain *)(piVar29[0x1e] + -9);" (assignment_expression "ssh_01 = (bufchain *)(piVar29[0x1e] + -9)" identifier = (cast_expression "(bufchain *)(piVar29[0x1e] + -9)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar29[0x1e] + -9)" ( (binary_expression "piVar29[0x1e] + -9" (subscript_expression "piVar29[0x1e]" identifier [ number_literal ]) + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);\n            logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);\n            if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }\n          }" { (labeled_statement "LAB_00042c08:\n            ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);" statement_identifier : (expression_statement "ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8);" (assignment_expression "ssh_01 = (bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(bufchain *)(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar34 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2)" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8),iVar2)" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4dc8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4dc8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4dc8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (if_statement "if (piVar29[0x14] != 0) {\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }" if (parenthesized_expression "(piVar29[0x14] != 0)" ( (binary_expression "piVar29[0x14] != 0" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              unaff_s5 = (Packet *)0x0;\n              if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }\n              if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }\n            }" { (expression_statement "unaff_s5 = (Packet *)0x0;" (assignment_expression "unaff_s5 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0 < piVar29[0x21]) {\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }" if (parenthesized_expression "(0 < piVar29[0x21])" ( (binary_expression "0 < piVar29[0x21]" number_literal < (subscript_expression "piVar29[0x21]" identifier [ number_literal ])) )) (compound_statement "{\n                do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);\n              }" { (do_statement "do {\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                } while ((int)unaff_s5 < piVar29[0x21]);" do (compound_statement "{\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);\n                  piVar29[0x25] = iVar2;\n                  if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                  puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);\n                  iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                  pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);\n                }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73100))(pPVar3->length)" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))(pPVar3->length)" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(pPVar3->length)" ( (field_expression "pPVar3->length" identifier -> field_identifier) )))) ;) (expression_statement "piVar29[0x25] = iVar2;" (assignment_expression "piVar29[0x25] = iVar2" (subscript_expression "piVar29[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)) {\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }" if (parenthesized_expression "((iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0))" ( (binary_expression "(iVar2 == piVar29[0x15]) &&\n                     (iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)" (parenthesized_expression "(iVar2 == piVar29[0x15])" ( (binary_expression "iVar2 == piVar29[0x15]" identifier == (subscript_expression "piVar29[0x15]" identifier [ number_literal ])) )) && (parenthesized_expression "(iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0)" ( (comma_expression "iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2), iVar24 == 0" (assignment_expression "iVar24 = (**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73af8))\n                                         (&pPVar3->forcepad,piVar29[0x14],iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73af8))" ( (pointer_expression "**(code **)(puVar34 + 0x73af8)" * (pointer_expression "*(code **)(puVar34 + 0x73af8)" * (cast_expression "(code **)(puVar34 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73af8)" ( (binary_expression "puVar34 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "(&pPVar3->forcepad,piVar29[0x14],iVar2)" ( (pointer_expression "&pPVar3->forcepad" & (field_expression "pPVar3->forcepad" identifier -> field_identifier)) , (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar24 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);\n                    piVar29[0x20] = (int)unaff_s5;\n                    piVar29[0x1f] = (int)pPVar3;\n                    goto LAB_0003fc30;\n                  }" { (expression_statement "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5);" (call_expression "logeventf(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5)" identifier (argument_list "(ssh,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4),unaff_s5)" ( identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4de4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4de4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4de4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (expression_statement "piVar29[0x20] = (int)unaff_s5;" (assignment_expression "piVar29[0x20] = (int)unaff_s5" (subscript_expression "piVar29[0x20]" identifier [ number_literal ]) = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar29[0x1f] = (int)pPVar3;" (assignment_expression "piVar29[0x1f] = (int)pPVar3" (subscript_expression "piVar29[0x1f]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (expression_statement "unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);" (assignment_expression "unaff_s5 = (Packet *)((int)&unaff_s5->length + 1)" identifier = (cast_expression "(Packet *)((int)&unaff_s5->length + 1)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->length + 1)" ( (binary_expression "(int)&unaff_s5->length + 1" (cast_expression "(int)&unaff_s5->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->length" & (field_expression "unaff_s5->length" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2);" (assignment_expression "puVar17 = (undefined4 *)((int)&pPVar3->forcepad + iVar2)" identifier = (cast_expression "(undefined4 *)((int)&pPVar3->forcepad + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar3->forcepad + iVar2)" ( (binary_expression "(int)&pPVar3->forcepad + iVar2" (cast_expression "(int)&pPVar3->forcepad" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar3->forcepad" & (field_expression "pPVar3->forcepad" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73100))(*puVar17)" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))(*puVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*puVar17)" ( (pointer_expression "*puVar17" * identifier) )))) ;) (expression_statement "pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4);" (assignment_expression "pPVar3 = (Packet *)((int)puVar17 + iVar2 + 4)" identifier = (cast_expression "(Packet *)((int)puVar17 + iVar2 + 4)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + iVar2 + 4)" ( (binary_expression "(int)puVar17 + iVar2 + 4" (binary_expression "(int)puVar17 + iVar2" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)unaff_s5 < piVar29[0x21])" ( (binary_expression "(int)unaff_s5 < piVar29[0x21]" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar29[0x21]" identifier [ number_literal ])) )) ;) })) (if_statement "if (piVar29[0x1f] == 0) {\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }" if (parenthesized_expression "(piVar29[0x1f] == 0)" ( (binary_expression "piVar29[0x1f] == 0" (subscript_expression "piVar29[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;\n                piVar29[0x21] = 0;\n              }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)\n                ;" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4e10)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4e10" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar29[0x21] = 0;" (assignment_expression "piVar29[0x21] = 0" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) = number_literal) ;) })) })) }) (else_clause "else {\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }" else (compound_statement "{\n            iVar2 = *(int *)(puVar34 + 0x72fb4);\n            if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }\n            logeventf(ssh,(char *)(iVar2 + 0x4da8));\n            piVar29[0x21] = 0;\n          }" { (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (3 < (int)ssh_01) {\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }" if (parenthesized_expression "(3 < (int)ssh_01)" ( (binary_expression "3 < (int)ssh_01" number_literal < (cast_expression "(int)ssh_01" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              unaff_s5 = (Packet *)0x0;\n              pPVar10 = pPVar3;\n              do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);\n            }" { (expression_statement "unaff_s5 = (Packet *)0x0;" (assignment_expression "unaff_s5 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pPVar10 = pPVar3;" (assignment_expression "pPVar10 = pPVar3" identifier = identifier) ;) (do_statement "do {\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              } while (3 < (int)ssh_01);" do (compound_statement "{\n                ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);\n                piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);\n                if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }\n                puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);\n                ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));\n                iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);\n                if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;\n                iVar2 = piVar29[0x21];\n                unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);\n                ssh_01 = (bufchain *)((int)ssh_01 - iVar24);\n                pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);\n                if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar2 = *(int *)(puVar34 + 0x72fb4);\n              }" { (expression_statement "ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8);" (assignment_expression "ssh_01 = (bufchain *)((int)(ssh_01 + -1) + 8)" identifier = (cast_expression "(bufchain *)((int)(ssh_01 + -1) + 8)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(ssh_01 + -1) + 8)" ( (binary_expression "(int)(ssh_01 + -1) + 8" (cast_expression "(int)(ssh_01 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ssh_01 + -1)" ( (binary_expression "ssh_01 + -1" identifier + number_literal) ))) + number_literal) )))) ;) (expression_statement "piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length);" (assignment_expression "piVar6 = (int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length)" identifier = (cast_expression "(int *)(**(code **)(puVar34 + 0x73100))(pPVar10->length)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73100))(pPVar10->length)" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(pPVar10->length)" ( (field_expression "pPVar10->length" identifier -> field_identifier) ))))) ;) (if_statement "if (ssh_01 < piVar6) {\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }" if (parenthesized_expression "(ssh_01 < piVar6)" ( (binary_expression "ssh_01 < piVar6" identifier < identifier) )) (compound_statement "{\nLAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);\n                  break;\n                }" { (labeled_statement "LAB_00042a68:\n                  iVar2 = *(int *)(puVar34 + 0x72fb4);" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;)) (break_statement "break;" break ;) })) (expression_statement "puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6);" (assignment_expression "puVar17 = (undefined4 *)((int)&pPVar10->forcepad + (int)piVar6)" identifier = (cast_expression "(undefined4 *)((int)&pPVar10->forcepad + (int)piVar6)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pPVar10->forcepad + (int)piVar6)" ( (binary_expression "(int)&pPVar10->forcepad + (int)piVar6" (cast_expression "(int)&pPVar10->forcepad" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pPVar10->forcepad" & (field_expression "pPVar10->forcepad" identifier -> field_identifier))) + (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6));" (assignment_expression "ssh_01 = (bufchain *)((int)ssh_01 + (-4 - (int)piVar6))" identifier = (cast_expression "(bufchain *)((int)ssh_01 + (-4 - (int)piVar6))" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ssh_01 + (-4 - (int)piVar6))" ( (binary_expression "(int)ssh_01 + (-4 - (int)piVar6)" (cast_expression "(int)ssh_01" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-4 - (int)piVar6)" ( (binary_expression "-4 - (int)piVar6" number_literal - (cast_expression "(int)piVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17);" (assignment_expression "iVar24 = (**(code **)(puVar34 + 0x73100))(*puVar17)" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))(*puVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*puVar17)" ( (pointer_expression "*puVar17" * identifier) )))) ;) (if_statement "if ((iVar24 < 0) || ((int)ssh_01 < iVar24)) goto LAB_00042a68;" if (parenthesized_expression "((iVar24 < 0) || ((int)ssh_01 < iVar24))" ( (binary_expression "(iVar24 < 0) || ((int)ssh_01 < iVar24)" (parenthesized_expression "(iVar24 < 0)" ( (binary_expression "iVar24 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)ssh_01 < iVar24)" ( (binary_expression "(int)ssh_01 < iVar24" (cast_expression "(int)ssh_01" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (goto_statement "goto LAB_00042a68;" goto statement_identifier ;)) (expression_statement "iVar2 = piVar29[0x21];" (assignment_expression "iVar2 = piVar29[0x21]" identifier = (subscript_expression "piVar29[0x21]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = (Packet *)((int)&unaff_s5->length + 1);" (assignment_expression "unaff_s5 = (Packet *)((int)&unaff_s5->length + 1)" identifier = (cast_expression "(Packet *)((int)&unaff_s5->length + 1)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->length + 1)" ( (binary_expression "(int)&unaff_s5->length + 1" (cast_expression "(int)&unaff_s5->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->length" & (field_expression "unaff_s5->length" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ssh_01 = (bufchain *)((int)ssh_01 - iVar24);" (assignment_expression "ssh_01 = (bufchain *)((int)ssh_01 - iVar24)" identifier = (cast_expression "(bufchain *)((int)ssh_01 - iVar24)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ssh_01 - iVar24)" ( (binary_expression "(int)ssh_01 - iVar24" (cast_expression "(int)ssh_01" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4);" (assignment_expression "pPVar10 = (Packet *)((int)puVar17 + iVar24 + 4)" identifier = (cast_expression "(Packet *)((int)puVar17 + iVar24 + 4)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + iVar24 + 4)" ( (binary_expression "(int)puVar17 + iVar24 + 4" (binary_expression "(int)puVar17 + iVar24" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (if_statement "if (iVar2 <= (int)unaff_s5) goto LAB_00042c08;" if (parenthesized_expression "(iVar2 <= (int)unaff_s5)" ( (binary_expression "iVar2 <= (int)unaff_s5" identifier <= (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00042c08;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(3 < (int)ssh_01)" ( (binary_expression "3 < (int)ssh_01" number_literal < (cast_expression "(int)ssh_01" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "logeventf(ssh,(char *)(iVar2 + 0x4da8));" (call_expression "logeventf(ssh,(char *)(iVar2 + 0x4da8))" identifier (argument_list "(ssh,(char *)(iVar2 + 0x4da8))" ( identifier , (cast_expression "(char *)(iVar2 + 0x4da8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x4da8)" ( (binary_expression "iVar2 + 0x4da8" identifier + number_literal) ))) ))) ;) (expression_statement "piVar29[0x21] = 0;" (assignment_expression "piVar29[0x21] = 0" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fc18;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,iVar2 + 0x4e34)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,iVar2 + 0x4e34)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "iVar2 + 0x4e34" identifier + number_literal) ))) ;) (labeled_statement "LAB_0003fc30:\n  piVar29[0x13] = 0;" statement_identifier : (expression_statement "piVar29[0x13] = 0;" (assignment_expression "piVar29[0x13] = 0" (subscript_expression "piVar29[0x13]" identifier [ number_literal ]) = number_literal) ;)) (if_statement "if (piVar29[0xd] != 0) goto LAB_0003fe38;" if (parenthesized_expression "(piVar29[0xd] != 0)" ( (binary_expression "piVar29[0xd] != 0" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;)) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (labeled_statement "LAB_0003fc40:\n  pcVar4 = get_remote_username(pCVar21);" statement_identifier : (expression_statement "pcVar4 = get_remote_username(pCVar21);" (assignment_expression "pcVar4 = get_remote_username(pCVar21)" identifier = (call_expression "get_remote_username(pCVar21)" identifier (argument_list "(pCVar21)" ( identifier )))) ;)) (expression_statement "ssh->username = pcVar4;" (assignment_expression "ssh->username = pcVar4" (field_expression "ssh->username" identifier -> field_identifier) = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);\n    ssh_01 = (bufchain *)piVar29[0xf];\n    puVar17[1] = uVar18;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);\n    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n    iVar2 = piVar29[0xf];\n    pcVar35 = *(code **)(puVar34 + 0x7353c);\n    ssh->username = pcVar4;\n    (*pcVar35)(iVar2);\n  }\n  else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n    piVar29[0xf] = (int)puVar17;\n    *puVar17 = 1;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);\n    ssh_01 = (bufchain *)piVar29[0xf];\n    puVar17[1] = uVar18;\n    uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);\n    iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));\n    iVar2 = piVar29[0xf];\n    pcVar35 = *(code **)(puVar34 + 0x7353c);\n    ssh->username = pcVar4;\n    (*pcVar35)(iVar2);\n  }" { (expression_statement "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);" (assignment_expression "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73530))(ssh->frontend)" (parenthesized_expression "(**(code **)(puVar34 + 0x73530))" ( (pointer_expression "**(code **)(puVar34 + 0x73530)" * (pointer_expression "*(code **)(puVar34 + 0x73530)" * (cast_expression "(code **)(puVar34 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73530)" ( (binary_expression "puVar34 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) ))))) ;) (expression_statement "piVar29[0xf] = (int)puVar17;" (assignment_expression "piVar29[0xf] = (int)puVar17" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar17 = 1;" (assignment_expression "*puVar17 = 1" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58)" identifier = (call_expression "(**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e58)" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x4e58)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4e58" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh_01 = (bufchain *)piVar29[0xf];" (assignment_expression "ssh_01 = (bufchain *)piVar29[0xf]" identifier = (cast_expression "(bufchain *)piVar29[0xf]" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar17[1] = uVar18;" (assignment_expression "puVar17[1] = uVar18" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68)" identifier = (call_expression "(**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x4e68)" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x4e68)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4e68" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1);" (call_expression "(**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,1)" (parenthesized_expression "(**(code **)(puVar34 + 0x73534))" ( (pointer_expression "**(code **)(puVar34 + 0x73534)" * (pointer_expression "*(code **)(puVar34 + 0x73534)" * (cast_expression "(code **)(puVar34 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73534)" ( (binary_expression "puVar34 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(ssh_01,uVar18,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf],0,0)" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040ca4:\n    if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (iVar2 < 0) {\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      ssh->send_ok = 1;\n      *piVar29 = 0x2561;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x2561;" (assignment_expression "*piVar29 = 0x2561" (pointer_expression "*piVar29" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar2 == 0) {\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar34 + 0x7353c))();\n      iVar2 = 0;\n      pcVar25 = (char *)0x0;\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);\n      goto LAB_00040b30;\n    }" { (expression_statement "(**(code **)(puVar34 + 0x7353c))();" (call_expression "(**(code **)(puVar34 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar34 + 0x7353c))" ( (pointer_expression "**(code **)(puVar34 + 0x7353c)" * (pointer_expression "*(code **)(puVar34 + 0x7353c)" * (cast_expression "(code **)(puVar34 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7353c)" ( (binary_expression "puVar34 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "pcVar25 = (char *)0x0;" (assignment_expression "pcVar25 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4e74)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4e74)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4e74" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040b30;" goto statement_identifier ;) })) (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8));" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x7301c))\n                               (*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar29[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar29[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar29[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar29[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar29[0xf] + 0x18)" * (cast_expression "(int **)(piVar29[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0xf] + 0x18)" ( (binary_expression "piVar29[0xf] + 0x18" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) ))))) ;) (expression_statement "iVar2 = piVar29[0xf];" (assignment_expression "iVar2 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x7353c);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x7353c)" * (cast_expression "(code **)(puVar34 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7353c)" ( (binary_expression "puVar34 + 0x7353c" identifier + number_literal) ))))) ;) (expression_statement "ssh->username = pcVar4;" (assignment_expression "ssh->username = pcVar4" (field_expression "ssh->username" identifier -> field_identifier) = identifier) ;) (expression_statement "(*pcVar35)(iVar2);" (call_expression "(*pcVar35)(iVar2)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar2)" ( identifier ))) ;) }) (else_clause "else if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }" else (if_statement "if ((**(uint **)(puVar34 + 0x730a8) & 5) != 0) {\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }" if (parenthesized_expression "((**(uint **)(puVar34 + 0x730a8) & 5) != 0)" ( (binary_expression "(**(uint **)(puVar34 + 0x730a8) & 5) != 0" (parenthesized_expression "(**(uint **)(puVar34 + 0x730a8) & 5)" ( (binary_expression "**(uint **)(puVar34 + 0x730a8) & 5" (pointer_expression "**(uint **)(puVar34 + 0x730a8)" * (pointer_expression "*(uint **)(puVar34 + 0x730a8)" * (cast_expression "(uint **)(puVar34 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730a8)" ( (binary_expression "puVar34 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n    pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);\n    iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);\n    c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);\n    (**(code **)(puVar34 + 0x72fdc))(pcVar4);\n  }" { (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x4e8c,pcVar4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4e8c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(pcVar4)" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,pcVar4,iVar2)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar34 + 0x72fdc))(pcVar4);" (call_expression "(**(code **)(puVar34 + 0x72fdc))(pcVar4)" (parenthesized_expression "(**(code **)(puVar34 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar34 + 0x72fdc)" * (pointer_expression "*(code **)(puVar34 + 0x72fdc)" * (cast_expression "(code **)(puVar34 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fdc)" ( (binary_expression "puVar34 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(pcVar4)" ( identifier ))) ;) })))) (labeled_statement "LAB_0003fc6c:\n  piVar29[0x13] = 1;" statement_identifier : (expression_statement "piVar29[0x13] = 1;" (assignment_expression "piVar29[0x13] = 1" (subscript_expression "piVar29[0x13]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_NOAUTH" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar10 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar10 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar10,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar10,pcVar4)" identifier (argument_list "(pPVar10,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ea4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4ea4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4ea4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);" (call_expression "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e])" identifier (argument_list "(ssh,(Packet *)piVar29[0x2e])" ( identifier , (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) ))) ;) (expression_statement "piVar29[1] = 0;" (assignment_expression "piVar29[1] = 0" (subscript_expression "piVar29[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[3] = 0;" (assignment_expression "piVar29[3] = 0" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xd] = 0;" (assignment_expression "piVar29[0xd] = 0" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[8] = 0;" (assignment_expression "piVar29[8] = 0" (subscript_expression "piVar29[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xc] = 0;" (assignment_expression "piVar29[0xc] = 0" (subscript_expression "piVar29[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[9] = 0;" (assignment_expression "piVar29[9] = 0" (subscript_expression "piVar29[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar29[0x1c] == 0) goto LAB_0003fb80;" if (parenthesized_expression "(piVar29[0x1c] == 0)" ( (binary_expression "piVar29[0x1c] == 0" (subscript_expression "piVar29[0x1c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (if_statement "if (piVar29[0x1f] == 0) {\n    piVar29[0x20] = 0;\n    piVar29[0x1d] = piVar29[0x1c] + 9;\n    *piVar29 = 0x25a0;\n  }\n  else {\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }" if (parenthesized_expression "(piVar29[0x1f] == 0)" ( (binary_expression "piVar29[0x1f] == 0" (subscript_expression "piVar29[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    piVar29[0x20] = 0;\n    piVar29[0x1d] = piVar29[0x1c] + 9;\n    *piVar29 = 0x25a0;\n  }" { (expression_statement "piVar29[0x20] = 0;" (assignment_expression "piVar29[0x20] = 0" (subscript_expression "piVar29[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0x1d] = piVar29[0x1c] + 9;" (assignment_expression "piVar29[0x1d] = piVar29[0x1c] + 9" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar29[0x1c] + 9" (subscript_expression "piVar29[0x1c]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*piVar29 = 0x25a0;" (assignment_expression "*piVar29 = 0x25a0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) }) (else_clause "else {\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }" else (compound_statement "{\n    piVar29[0x1d] = piVar29[0x1f];\n    *piVar29 = 0x25a0;\n  }" { (expression_statement "piVar29[0x1d] = piVar29[0x1f];" (assignment_expression "piVar29[0x1d] = piVar29[0x1f]" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) = (subscript_expression "piVar29[0x1f]" identifier [ number_literal ])) ;) (expression_statement "*piVar29 = 0x25a0;" (assignment_expression "*piVar29 = 0x25a0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_0003fd3c:\n  if (uStack_84 == *puVar30) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_84 == *puVar30) {\n    return;\n  }" if (parenthesized_expression "(uStack_84 == *puVar30)" ( (binary_expression "uStack_84 == *puVar30" identifier == (pointer_expression "*puVar30" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar34 + 0x73ae4))();" (call_expression "(**(code **)(puVar34 + 0x73ae4))()" (parenthesized_expression "(**(code **)(puVar34 + 0x73ae4))" ( (pointer_expression "**(code **)(puVar34 + 0x73ae4)" * (pointer_expression "*(code **)(puVar34 + 0x73ae4)" * (cast_expression "(code **)(puVar34 + 0x73ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73ae4)" ( (binary_expression "puVar34 + 0x73ae4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00042b98:\n  (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);" statement_identifier : (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5318)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5318" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "(**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01);" (call_expression "(**(code **)(piVar29[0x30] + 0x10))(piVar29[0x30],ssh_01)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 0x10))" ( (pointer_expression "**(code **)(piVar29[0x30] + 0x10)" * (pointer_expression "*(code **)(piVar29[0x30] + 0x10)" * (cast_expression "(code **)(piVar29[0x30] + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 0x10)" ( (binary_expression "piVar29[0x30] + 0x10" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],ssh_01)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0003fb74:\n  pPStack_94 = (Packet *)0x0;" statement_identifier : (expression_statement "pPStack_94 = (Packet *)0x0;" (assignment_expression "pPStack_94 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "apPStack_90[0] = (Packet *)0x0;" (assignment_expression "apPStack_90[0] = (Packet *)0x0" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar2 == 0) goto LAB_0003fb80;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (labeled_statement "LAB_0003f824:\n  apPStack_90[0] = (Packet *)0x0;" statement_identifier : (expression_statement "apPStack_90[0] = (Packet *)0x0;" (assignment_expression "apPStack_90[0] = (Packet *)0x0" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pPStack_94 = (Packet *)0x0;" (assignment_expression "pPStack_94 = (Packet *)0x0" identifier = (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003f828:\n  ssh_01 = &ssh->banner;" statement_identifier : (expression_statement "ssh_01 = &ssh->banner;" (assignment_expression "ssh_01 = &ssh->banner" identifier = (pointer_expression "&ssh->banner" & (field_expression "ssh->banner" identifier -> field_identifier))) ;)) (expression_statement "iVar2 = bufchain_size(ssh_01);" (assignment_expression "iVar2 = bufchain_size(ssh_01)" identifier = (call_expression "bufchain_size(ssh_01)" identifier (argument_list "(ssh_01)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);\n    if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    unaff_s5 = *(Packet **)(puVar34 + 0x730a8);\n    if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }\n  }" { (expression_statement "unaff_s5 = *(Packet **)(puVar34 + 0x730a8);" (assignment_expression "unaff_s5 = *(Packet **)(puVar34 + 0x730a8)" identifier = (pointer_expression "*(Packet **)(puVar34 + 0x730a8)" * (cast_expression "(Packet **)(puVar34 + 0x730a8)" ( (type_descriptor "Packet **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730a8)" ( (binary_expression "puVar34 + 0x730a8" identifier + number_literal) ))))) ;) (if_statement "if ((unaff_s5->length & 5U) != 0) {\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }" if (parenthesized_expression "((unaff_s5->length & 5U) != 0)" ( (binary_expression "(unaff_s5->length & 5U) != 0" (parenthesized_expression "(unaff_s5->length & 5U)" ( (binary_expression "unaff_s5->length & 5U" (field_expression "unaff_s5->length" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);\n      (**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);\n      if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }\n                    /* WARNING: Subroutine does not return */\n      safefree(pcVar4);\n    }" { (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73014))(iVar2,1)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73014))(iVar2,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73014))(iVar2,1)" (parenthesized_expression "(**(code **)(puVar34 + 0x73014))" ( (pointer_expression "**(code **)(puVar34 + 0x73014)" * (pointer_expression "*(code **)(puVar34 + 0x73014)" * (cast_expression "(code **)(puVar34 + 0x73014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73014)" ( (binary_expression "puVar34 + 0x73014" identifier + number_literal) ))))) )) (argument_list "(iVar2,1)" ( identifier , number_literal ))))) ;) (expression_statement "(**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2);" (call_expression "(**(code **)(puVar34 + 0x7304c))(ssh_01,pcVar4,iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x7304c))" ( (pointer_expression "**(code **)(puVar34 + 0x7304c)" * (pointer_expression "*(code **)(puVar34 + 0x7304c)" * (cast_expression "(code **)(puVar34 + 0x7304c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7304c)" ( (binary_expression "puVar34 + 0x7304c" identifier + number_literal) ))))) )) (argument_list "(ssh_01,pcVar4,iVar2)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((unaff_s5->length & 2U) == 0) {\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }\n      else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }" if (parenthesized_expression "((unaff_s5->length & 2U) == 0)" ( (binary_expression "(unaff_s5->length & 2U) == 0" (parenthesized_expression "(unaff_s5->length & 2U)" ( (binary_expression "unaff_s5->length & 2U" (field_expression "unaff_s5->length" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        from_backend_untrusted(ssh->frontend,pcVar4,iVar2);\n      }" { (expression_statement "from_backend_untrusted(ssh->frontend,pcVar4,iVar2);" (call_expression "from_backend_untrusted(ssh->frontend,pcVar4,iVar2)" identifier (argument_list "(ssh->frontend,pcVar4,iVar2)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }" else (compound_statement "{\n        puVar17 = *(undefined4 **)(puVar34 + 0x73b28);\n        if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }\n      }" { (expression_statement "puVar17 = *(undefined4 **)(puVar34 + 0x73b28);" (assignment_expression "puVar17 = *(undefined4 **)(puVar34 + 0x73b28)" identifier = (pointer_expression "*(undefined4 **)(puVar34 + 0x73b28)" * (cast_expression "(undefined4 **)(puVar34 + 0x73b28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73b28)" ( (binary_expression "puVar34 + 0x73b28" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar2) {\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n          pcVar25 = pcVar4;\n          do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);\n        }" { (expression_statement "pcVar25 = pcVar4;" (assignment_expression "pcVar25 = pcVar4" identifier = identifier) ;) (do_statement "do {\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar4 + iVar2);" do (compound_statement "{\n            uVar13 = (uint)*pcVar25;\n            if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }\n            pcVar25 = pcVar25 + 1;\n          }" { (expression_statement "uVar13 = (uint)*pcVar25;" (assignment_expression "uVar13 = (uint)*pcVar25" identifier = (binary_expression "(uint)*pcVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))) {\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }" if (parenthesized_expression "((uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0))))" ( (binary_expression "(uVar13 != 0xd) && ((uVar13 == 10 || ((uVar13 & 0x60) != 0)))" (parenthesized_expression "(uVar13 != 0xd)" ( (binary_expression "uVar13 != 0xd" identifier != number_literal) )) && (parenthesized_expression "((uVar13 == 10 || ((uVar13 & 0x60) != 0)))" ( (parenthesized_expression "(uVar13 == 10 || ((uVar13 & 0x60) != 0))" ( (binary_expression "uVar13 == 10 || ((uVar13 & 0x60) != 0)" (binary_expression "uVar13 == 10" identifier == number_literal) || (parenthesized_expression "((uVar13 & 0x60) != 0)" ( (binary_expression "(uVar13 & 0x60) != 0" (parenthesized_expression "(uVar13 & 0x60)" ( (binary_expression "uVar13 & 0x60" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n              (**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);\n            }" { (expression_statement "(**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17);" (call_expression "(**(code **)(puVar34 + 0x739c4))(uVar13,*puVar17)" (parenthesized_expression "(**(code **)(puVar34 + 0x739c4))" ( (pointer_expression "**(code **)(puVar34 + 0x739c4)" * (pointer_expression "*(code **)(puVar34 + 0x739c4)" * (cast_expression "(code **)(puVar34 + 0x739c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x739c4)" ( (binary_expression "puVar34 + 0x739c4" identifier + number_literal) ))))) )) (argument_list "(uVar13,*puVar17)" ( identifier , (pointer_expression "*puVar17" * identifier) ))) ;) })) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar25 != pcVar4 + iVar2)" ( (binary_expression "pcVar25 != pcVar4 + iVar2" identifier != (binary_expression "pcVar4 + iVar2" identifier + identifier)) )) ;) })) }))) comment (expression_statement "safefree(pcVar4);" (call_expression "safefree(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) })) (expression_statement "bufchain_clear(ssh_01);" (call_expression "bufchain_clear(ssh_01)" identifier (argument_list "(ssh_01)" ( identifier ))) ;) (expression_statement "iVar2 = pPVar3->type;" (assignment_expression "iVar2 = pPVar3->type" identifier = (field_expression "pPVar3->type" identifier -> field_identifier)) ;) (if_statement "if (iVar2 == 0x34) {\n    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);\n    piVar29[0xe] = 1;\n    piVar29[0xd] = 1;\nLAB_0003fe38:\n    iVar2 = piVar29[0x14];\n    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;\n    if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }\n    if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }\n    iVar2 = *(int *)(puVar34 + 0x7336c);\n    if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);\n    ssh->channels = ptVar9;\n    pCVar21 = ssh->conf;\n    pcVar35 = *(code **)(puVar34 + 0x73040);\n    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);\n    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);\n    iVar2 = (*pcVar35)(pCVar21,0x2d);\n    if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(iVar2 == 0x34)" ( (binary_expression "iVar2 == 0x34" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);\n    piVar29[0xe] = 1;\n    piVar29[0xd] = 1;\nLAB_0003fe38:\n    iVar2 = piVar29[0x14];\n    ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;\n    if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }\n    if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }\n    iVar2 = *(int *)(puVar34 + 0x7336c);\n    if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);\n    ssh->channels = ptVar9;\n    pCVar21 = ssh->conf;\n    pcVar35 = *(code **)(puVar34 + 0x73040);\n    ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);\n    ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);\n    iVar2 = (*pcVar35)(pCVar21,0x2d);\n    if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4eac)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4eac" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar29[0xe] = 1;" (assignment_expression "piVar29[0xe] = 1" (subscript_expression "piVar29[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[0xd] = 1;" (assignment_expression "piVar29[0xd] = 1" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003fe38:\n    iVar2 = piVar29[0x14];" statement_identifier : (expression_statement "iVar2 = piVar29[0x14];" (assignment_expression "iVar2 = piVar29[0x14]" identifier = (subscript_expression "piVar29[0x14]" identifier [ number_literal ])) ;)) (expression_statement "ssh->packet_dispatch[0x35] = (handler_fn_t)0x0;" (assignment_expression "ssh->packet_dispatch[0x35] = (handler_fn_t)0x0" (subscript_expression "ssh->packet_dispatch[0x35]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(handler_fn_t)0x0" ( (type_descriptor "handler_fn_t" type_identifier) ) number_literal)) ;) (if_statement "if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x18]);\n    }" { comment (expression_statement "safefree((void *)piVar29[0x18]);" (call_expression "safefree((void *)piVar29[0x18])" identifier (argument_list "((void *)piVar29[0x18])" ( (cast_expression "(void *)piVar29[0x18]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x18]" identifier [ number_literal ])) ))) ;) })) (if_statement "if ((void *)piVar29[0x1c] != (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }" if (parenthesized_expression "((void *)piVar29[0x1c] != (void *)0x0)" ( (binary_expression "(void *)piVar29[0x1c] != (void *)0x0" (cast_expression "(void *)piVar29[0x1c]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x1c]" identifier [ number_literal ])) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      safefree((void *)piVar29[0x1c]);\n    }" { comment (expression_statement "safefree((void *)piVar29[0x1c]);" (call_expression "safefree((void *)piVar29[0x1c])" identifier (argument_list "((void *)piVar29[0x1c])" ( (cast_expression "(void *)piVar29[0x1c]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x1c]" identifier [ number_literal ])) ))) ;) })) (expression_statement "iVar2 = *(int *)(puVar34 + 0x7336c);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (piVar29[0xe] == 0) {\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }\n    else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" if (parenthesized_expression "(piVar29[0xe] == 0)" ( (binary_expression "piVar29[0xe] == 0" (subscript_expression "piVar29[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n    }" { (labeled_statement "LAB_0003fecc:\n      pcVar35 = *(code **)(puVar34 + 0x730c8);" statement_identifier : (expression_statement "pcVar35 = *(code **)(puVar34 + 0x730c8);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar34 + 0x730c8)" * (cast_expression "(code **)(puVar34 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730c8)" ( (binary_expression "puVar34 + 0x730c8" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" else (compound_statement "{\n      pcVar35 = *(code **)(puVar34 + 0x730c8);\n      if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" { (expression_statement "pcVar35 = *(code **)(puVar34 + 0x730c8);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar34 + 0x730c8)" * (cast_expression "(code **)(puVar34 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x730c8)" ( (binary_expression "puVar34 + 0x730c8" identifier + number_literal) ))))) ;) (if_statement "if (ssh->bare_connection == 0) {\n        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\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        do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);\n        iVar2 = *(int *)(puVar34 + 0x7336c);\n        goto LAB_0003fecc;\n      }" { (expression_statement "do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0);" (call_expression "do_ssh2_transport(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0)" identifier (argument_list "(ssh,(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8),-2,(Packet *)0x0)" ( identifier , (cast_expression "(void *)(*(int *)(puVar34 + 0x72fb4) + 0x55c8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x55c8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x55c8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "iVar2 = *(int *)(puVar34 + 0x7336c);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar34 + 0x7336c)" * (cast_expression "(int *)(puVar34 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x7336c)" ( (binary_expression "puVar34 + 0x7336c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fecc;" goto statement_identifier ;) })) }))) (expression_statement "ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0);" (assignment_expression "ptVar9 = (tree234 *)(*pcVar35)(iVar2 + 0x6ba0)" identifier = (cast_expression "(tree234 *)(*pcVar35)(iVar2 + 0x6ba0)" ( (type_descriptor "tree234 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar35)(iVar2 + 0x6ba0)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar2 + 0x6ba0)" ( (binary_expression "iVar2 + 0x6ba0" identifier + number_literal) ))))) ;) (expression_statement "ssh->channels = ptVar9;" (assignment_expression "ssh->channels = ptVar9" (field_expression "ssh->channels" identifier -> field_identifier) = identifier) ;) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73040);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8);" (assignment_expression "ssh->packet_dispatch[0x5d] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8)" (subscript_expression "ssh->packet_dispatch[0x5d]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ed8)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + -0x4ed8)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec);" (assignment_expression "ssh->packet_dispatch[0x50] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec)" (subscript_expression "ssh->packet_dispatch[0x50]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x6eec)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x734a0) + 0x6eec)" ( (binary_expression "*(int *)(puVar34 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(puVar34 + 0x734a0)" * (cast_expression "(int *)(puVar34 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x734a0)" ( (binary_expression "puVar34 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = (*pcVar35)(pCVar21,0x2d);" (assignment_expression "iVar2 = (*pcVar35)(pCVar21,0x2d)" identifier = (call_expression "(*pcVar35)(pCVar21,0x2d)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pCVar21,0x2d)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }\n    else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      psVar22 = (ssh_channel *)safemalloc(1,0x5c);\n      ssh->mainchan = psVar22;\n      psVar22->ssh = ssh;\n      ssh_channel_init(psVar22);\n      pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n      if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }\n    }" { (expression_statement "psVar22 = (ssh_channel *)safemalloc(1,0x5c);" (assignment_expression "psVar22 = (ssh_channel *)safemalloc(1,0x5c)" identifier = (cast_expression "(ssh_channel *)safemalloc(1,0x5c)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0x5c)" identifier (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "ssh->mainchan = psVar22;" (assignment_expression "ssh->mainchan = psVar22" (field_expression "ssh->mainchan" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar22->ssh = ssh;" (assignment_expression "psVar22->ssh = ssh" (field_expression "psVar22->ssh" identifier -> field_identifier) = identifier) ;) (expression_statement "ssh_channel_init(psVar22);" (call_expression "ssh_channel_init(psVar22)" identifier (argument_list "(psVar22)" ( identifier ))) ;) (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" (parenthesized_expression "(**(code **)(puVar34 + 0x73094))" ( (pointer_expression "**(code **)(puVar34 + 0x73094)" * (pointer_expression "*(code **)(puVar34 + 0x73094)" * (cast_expression "(code **)(puVar34 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73094)" ( (binary_expression "puVar34 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x2e)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))))) ;) (if_statement "if (*pcVar4 == '\0') {\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }\n      else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }" if (parenthesized_expression "(*pcVar4 == '\0')" ( (binary_expression "*pcVar4 == '\0'" (pointer_expression "*pcVar4" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));\n        pvVar31 = ssh->frontend;\n        piVar29[0x2e] = (int)pPVar10;\n        (**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);\n        ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n        ssh->ncmode = 0;\n        *piVar29 = 0x2a03;\n      }" { (expression_statement "pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718));" (assignment_expression "pPVar10 = ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718))" identifier = (call_expression "ssh2_chanopen_init((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718))" identifier (argument_list "((ssh_channel *)&ssh->mainchan->localid,\n                                     (char *)&(ssh->mainchan->v).v2.locwindow,\n                                     (ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718))" ( (cast_expression "(ssh_channel *)&ssh->mainchan->localid" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->mainchan->localid" & (field_expression "ssh->mainchan->localid" (field_expression "ssh->mainchan" identifier -> field_identifier) -> field_identifier))) , (cast_expression "(char *)&(ssh->mainchan->v).v2.locwindow" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(ssh->mainchan->v).v2.locwindow" & (field_expression "(ssh->mainchan->v).v2.locwindow" (field_expression "(ssh->mainchan->v).v2" (parenthesized_expression "(ssh->mainchan->v)" ( (field_expression "ssh->mainchan->v" (field_expression "ssh->mainchan" identifier -> field_identifier) -> field_identifier) )) . field_identifier) . field_identifier))) , (cast_expression "(ssh_channel *)(*(int *)(puVar34 + 0x72fb4) + 0x7718)" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x7718)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x7718" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) )))) ;) (expression_statement "pvVar31 = ssh->frontend;" (assignment_expression "pvVar31 = ssh->frontend" identifier = (field_expression "ssh->frontend" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8);" (call_expression "(**(code **)(puVar34 + 0x73038))(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(pvVar31,*(int *)(puVar34 + 0x72fb4) + 0x55f8)" ( identifier , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x55f8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);" (call_expression "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e])" identifier (argument_list "(ssh,(Packet *)piVar29[0x2e])" ( identifier , (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) ))) ;) (expression_statement "ssh->ncmode = 0;" (assignment_expression "ssh->ncmode = 0" (field_expression "ssh->ncmode" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x2a03;" (assignment_expression "*piVar29 = 0x2a03" (pointer_expression "*piVar29" * identifier) = number_literal) ;) }) (else_clause "else {\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }" else (compound_statement "{\n        psVar22 = ssh->mainchan;\n        ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);\n        ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));\n        ssh->ncmode = 1;\nLAB_00040660:\n        *piVar29 = 0x2a03;\n      }" { (expression_statement "psVar22 = ssh->mainchan;" (assignment_expression "psVar22 = ssh->mainchan" identifier = (field_expression "ssh->mainchan" identifier -> field_identifier)) ;) (expression_statement "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e);" (assignment_expression "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" identifier = (cast_expression "(bufchain *)(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73094))(ssh->conf,0x2e)" (parenthesized_expression "(**(code **)(puVar34 + 0x73094))" ( (pointer_expression "**(code **)(puVar34 + 0x73094)" * (pointer_expression "*(code **)(puVar34 + 0x73094)" * (cast_expression "(code **)(puVar34 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73094)" ( (binary_expression "puVar34 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x2e)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2f)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x2f)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8));" (call_expression "ssh_send_port_open(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8))" identifier (argument_list "(psVar22,(char *)ssh_01,iVar2,\n                           (char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8))" ( identifier , (cast_expression "(char *)ssh_01" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x55e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x55e8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x55e8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh->ncmode = 1;" (assignment_expression "ssh->ncmode = 1" (field_expression "ssh->ncmode" identifier -> field_identifier) = number_literal) ;) (labeled_statement "LAB_00040660:\n        *piVar29 = 0x2a03;" statement_identifier : (expression_statement "*piVar29 = 0x2a03;" (assignment_expression "*piVar29 = 0x2a03" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }" else (compound_statement "{\n      ssh->mainchan = (ssh_channel *)0x0;\nLAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      iVar2 = *(int *)(puVar34 + 0x73504);\n      pvVar31 = ssh->connshare;\n      ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);\n      ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);\n      iVar24 = *(int *)(puVar34 + 0x73504);\n      ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);\n      ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);\n      ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);\n      ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);\n      ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);\n      ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);\n      ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);\n      if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }\n      if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }\n      ssh_setup_portfwd(ssh,ssh->conf);\n      if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }\n    }" { (expression_statement "ssh->mainchan = (ssh_channel *)0x0;" (assignment_expression "ssh->mainchan = (ssh_channel *)0x0" (field_expression "ssh->mainchan" identifier -> field_identifier) = (cast_expression "(ssh_channel *)0x0" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003ff14:\n      iVar24 = *(int *)(puVar34 + 0x73504);" statement_identifier : (expression_statement "iVar24 = *(int *)(puVar34 + 0x73504);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) ))))) ;)) (expression_statement "iVar2 = *(int *)(puVar34 + 0x73504);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "pvVar31 = ssh->connshare;" (assignment_expression "pvVar31 = ssh->connshare" identifier = (field_expression "ssh->connshare" identifier -> field_identifier)) ;) (expression_statement "ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294);" (assignment_expression "ssh->packet_dispatch[0x5f] = (handler_fn_t)(iVar24 + -0x5294)" (subscript_expression "ssh->packet_dispatch[0x5f]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(iVar24 + -0x5294)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar24 + -0x5294)" ( (binary_expression "iVar24 + -0x5294" identifier + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294);" (assignment_expression "ssh->packet_dispatch[0x5e] = (handler_fn_t)(iVar24 + -0x5294)" (subscript_expression "ssh->packet_dispatch[0x5e]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(iVar24 + -0x5294)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar24 + -0x5294)" ( (binary_expression "iVar24 + -0x5294" identifier + number_literal) )))) ;) (expression_statement "iVar24 = *(int *)(puVar34 + 0x73504);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18);" (assignment_expression "ssh->packet_dispatch[99] = (handler_fn_t)(iVar2 + -0x4d18)" (subscript_expression "ssh->packet_dispatch[99]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(iVar2 + -0x4d18)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar2 + -0x4d18)" ( (binary_expression "iVar2 + -0x4d18" identifier + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18);" (assignment_expression "ssh->packet_dispatch[100] = (handler_fn_t)(iVar2 + -0x4d18)" (subscript_expression "ssh->packet_dispatch[100]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(iVar2 + -0x4d18)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar2 + -0x4d18)" ( (binary_expression "iVar2 + -0x4d18" identifier + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950);" (assignment_expression "ssh->packet_dispatch[0x60] = (handler_fn_t)(iVar24 + -0x4950)" (subscript_expression "ssh->packet_dispatch[0x60]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(iVar24 + -0x4950)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(iVar24 + -0x4950)" ( (binary_expression "iVar24 + -0x4950" identifier + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8);" (assignment_expression "ssh->packet_dispatch[0x61] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8)" (subscript_expression "ssh->packet_dispatch[0x61]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4ac8)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + -0x4ac8)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28);" (assignment_expression "ssh->packet_dispatch[0x5b] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28)" (subscript_expression "ssh->packet_dispatch[0x5b]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x4c28)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + -0x4c28)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c);" (assignment_expression "ssh->packet_dispatch[0x5c] = (handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c)" (subscript_expression "ssh->packet_dispatch[0x5c]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x73504) + -0x7a0c)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + -0x7a0c)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24);" (assignment_expression "ssh->packet_dispatch[0x62] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24)" (subscript_expression "ssh->packet_dispatch[0x62]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x7d24)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x734a0) + 0x7d24)" ( (binary_expression "*(int *)(puVar34 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(puVar34 + 0x734a0)" * (cast_expression "(int *)(puVar34 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x734a0)" ( (binary_expression "puVar34 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c);" (assignment_expression "ssh->packet_dispatch[0x5a] = (handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c)" (subscript_expression "ssh->packet_dispatch[0x5a]" (field_expression "ssh->packet_dispatch" identifier -> field_identifier) [ number_literal ]) = (call_expression "(handler_fn_t)(*(int *)(puVar34 + 0x734a0) + 0x642c)" (parenthesized_expression "(handler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x734a0) + 0x642c)" ( (binary_expression "*(int *)(puVar34 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(puVar34 + 0x734a0)" * (cast_expression "(int *)(puVar34 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x734a0)" ( (binary_expression "puVar34 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (pvVar31 != (void *)0x0) {\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }" if (parenthesized_expression "(pvVar31 != (void *)0x0)" ( (binary_expression "pvVar31 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);\n      }" { (expression_statement "(**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s);" (call_expression "(**(code **)(puVar34 + 0x73544))(pvVar31,ssh->v_s)" (parenthesized_expression "(**(code **)(puVar34 + 0x73544))" ( (pointer_expression "**(code **)(puVar34 + 0x73544)" * (pointer_expression "*(code **)(puVar34 + 0x73544)" * (cast_expression "(code **)(puVar34 + 0x73544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73544)" ( (binary_expression "puVar34 + 0x73544" identifier + number_literal) ))))) )) (argument_list "(pvVar31,ssh->v_s)" ( identifier , (field_expression "ssh->v_s" identifier -> field_identifier) ))) ;) })) (if_statement "if ((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)) {\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }" if (parenthesized_expression "((ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0))" ( (binary_expression "(ssh->mainchan != (ssh_channel *)0x0) && (iVar2 = ssh_is_simple(ssh), iVar2 != 0)" (parenthesized_expression "(ssh->mainchan != (ssh_channel *)0x0)" ( (binary_expression "ssh->mainchan != (ssh_channel *)0x0" (field_expression "ssh->mainchan" identifier -> field_identifier) != (cast_expression "(ssh_channel *)0x0" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 = ssh_is_simple(ssh), iVar2 != 0)" ( (comma_expression "iVar2 = ssh_is_simple(ssh), iVar2 != 0" (assignment_expression "iVar2 = ssh_is_simple(ssh)" identifier = (call_expression "ssh_is_simple(ssh)" identifier (argument_list "(ssh)" ( identifier )))) , (binary_expression "iVar2 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);\n        piVar29[0x2e] = (int)pPVar10;\n        ssh2_pkt_send(ssh,pPVar10);\n      }" { (expression_statement "pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0);" (assignment_expression "pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0)" identifier = (call_expression "ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0)" identifier (argument_list "(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0),\n                                    (cchandler_fn_t)0x0,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x56e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x56e0)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x56e0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(cchandler_fn_t)0x0" ( (type_descriptor "cchandler_fn_t" type_identifier) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh2_pkt_send(ssh,pPVar10);" (call_expression "ssh2_pkt_send(ssh,pPVar10)" identifier (argument_list "(ssh,pPVar10)" ( identifier , identifier ))) ;) })) (expression_statement "ssh_setup_portfwd(ssh,ssh->conf);" (call_expression "ssh_setup_portfwd(ssh,ssh->conf)" identifier (argument_list "(ssh,ssh->conf)" ( identifier , (field_expression "ssh->conf" identifier -> field_identifier) ))) ;) (if_statement "if ((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)) {\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }\n      else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }" if (parenthesized_expression "((ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0))" ( (binary_expression "(ssh->mainchan == (ssh_channel *)0x0) || (ssh->ncmode != 0)" (parenthesized_expression "(ssh->mainchan == (ssh_channel *)0x0)" ( (binary_expression "ssh->mainchan == (ssh_channel *)0x0" (field_expression "ssh->mainchan" identifier -> field_identifier) == (cast_expression "(ssh_channel *)0x0" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(ssh->ncmode != 0)" ( (binary_expression "ssh->ncmode != 0" (field_expression "ssh->ncmode" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n        ssh->echoing = 1;\n        ssh->editing = 1;\nLAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;\n        if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }\n        if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }\n        if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }\n        if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }\n      }" { (expression_statement "ssh->echoing = 1;" (assignment_expression "ssh->echoing = 1" (field_expression "ssh->echoing" identifier -> field_identifier) = number_literal) ;) (expression_statement "ssh->editing = 1;" (assignment_expression "ssh->editing = 1" (field_expression "ssh->editing" identifier -> field_identifier) = number_literal) ;) (labeled_statement "LAB_0003ffec:\n        ssh->state = ADDRTYPE_NAME;" statement_identifier : (expression_statement "ssh->state = ADDRTYPE_NAME;" (assignment_expression "ssh->state = ADDRTYPE_NAME" (field_expression "ssh->state" identifier -> field_identifier) = identifier) ;)) (if_statement "if (ssh->size_needed != 0) {\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }" if (parenthesized_expression "(ssh->size_needed != 0)" ( (binary_expression "ssh->size_needed != 0" (field_expression "ssh->size_needed" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          ssh_size(ssh,ssh->term_width,ssh->term_height);\n        }" { (expression_statement "ssh_size(ssh,ssh->term_width,ssh->term_height);" (call_expression "ssh_size(ssh,ssh->term_width,ssh->term_height)" identifier (argument_list "(ssh,ssh->term_width,ssh->term_height)" ( identifier , (field_expression "ssh->term_width" identifier -> field_identifier) , (field_expression "ssh->term_height" identifier -> field_identifier) ))) ;) })) (if_statement "if (ssh->eof_needed != 0) {\n          ssh_special(ssh,TS_EOF);\n        }" if (parenthesized_expression "(ssh->eof_needed != 0)" ( (binary_expression "ssh->eof_needed != 0" (field_expression "ssh->eof_needed" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          ssh_special(ssh,TS_EOF);\n        }" { (expression_statement "ssh_special(ssh,TS_EOF);" (call_expression "ssh_special(ssh,TS_EOF)" identifier (argument_list "(ssh,TS_EOF)" ( identifier , identifier ))) ;) })) (if_statement "if (ssh->ldisc != (void *)0x0) {\n          ldisc_echoedit_update(ssh->ldisc);\n        }" if (parenthesized_expression "(ssh->ldisc != (void *)0x0)" ( (binary_expression "ssh->ldisc != (void *)0x0" (field_expression "ssh->ldisc" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ldisc_echoedit_update(ssh->ldisc);\n        }" { (expression_statement "ldisc_echoedit_update(ssh->ldisc);" (call_expression "ldisc_echoedit_update(ssh->ldisc)" identifier (argument_list "(ssh->ldisc)" ( (field_expression "ssh->ldisc" identifier -> field_identifier) ))) ;) })) (if_statement "if (ssh->mainchan == (ssh_channel *)0x0) {\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }\n        else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }" if (parenthesized_expression "(ssh->mainchan == (ssh_channel *)0x0)" ( (binary_expression "ssh->mainchan == (ssh_channel *)0x0" (field_expression "ssh->mainchan" identifier -> field_identifier) == (cast_expression "(ssh_channel *)0x0" ( (type_descriptor "ssh_channel *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0003f7c4:\n          *piVar29 = 0x2abd;\n        }" { (labeled_statement "LAB_0003f7c4:\n          *piVar29 = 0x2abd;" statement_identifier : (expression_statement "*piVar29 = 0x2abd;" (assignment_expression "*piVar29 = 0x2abd" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) }) (else_clause "else {\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }" else (compound_statement "{\n          ssh->send_ok = 1;\n          *piVar29 = 0x2abd;\n        }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x2abd;" (assignment_expression "*piVar29 = 0x2abd" (pointer_expression "*piVar29" * identifier) = number_literal) ;) }))) }) (else_clause "else {\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }" else (compound_statement "{\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);\n        if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }\n        iVar2 = ssh_agent_forwarding_permitted(ssh);\n        if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);\n        if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }\n        ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }\n        pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);\n        if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }\n        ssh2_pkt_send(ssh,pPVar10);\nLAB_00041870:\n        *piVar29 = 0x2a90;\n      }" { (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x95)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x95)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x95)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar2 != 0) {\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);\n          pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);\n          ssh->x11disp = pXVar19;\n          if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }\n        }" { (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73094))(ssh->conf,0x96)" identifier = (call_expression "(**(code **)(puVar34 + 0x73094))(ssh->conf,0x96)" (parenthesized_expression "(**(code **)(puVar34 + 0x73094))" ( (pointer_expression "**(code **)(puVar34 + 0x73094)" * (pointer_expression "*(code **)(puVar34 + 0x73094)" * (cast_expression "(code **)(puVar34 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73094)" ( (binary_expression "puVar34 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x96)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf);" (assignment_expression "pXVar19 = (X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf)" identifier = (cast_expression "(X11Display *)(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf)" ( (type_descriptor "X11Display *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73570))(uVar18,ssh->conf)" (parenthesized_expression "(**(code **)(puVar34 + 0x73570))" ( (pointer_expression "**(code **)(puVar34 + 0x73570)" * (pointer_expression "*(code **)(puVar34 + 0x73570)" * (cast_expression "(code **)(puVar34 + 0x73570)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73570)" ( (binary_expression "puVar34 + 0x73570" identifier + number_literal) ))))) )) (argument_list "(uVar18,ssh->conf)" ( identifier , (field_expression "ssh->conf" identifier -> field_identifier) ))))) ;) (expression_statement "ssh->x11disp = pXVar19;" (assignment_expression "ssh->x11disp = pXVar19" (field_expression "ssh->x11disp" identifier -> field_identifier) = identifier) ;) (if_statement "if (pXVar19 == (X11Display *)0x0) {\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }\n          else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }" if (parenthesized_expression "(pXVar19 == (X11Display *)0x0)" ( (binary_expression "pXVar19 == (X11Display *)0x0" identifier == (cast_expression "(X11Display *)0x0" ( (type_descriptor "X11Display *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);\n          }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5704)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5704" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }" else (compound_statement "{\n            ptVar9 = ssh->x11authtree;\n            uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);\n            pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);\n            psVar22 = ssh->mainchan;\n            ssh->x11auth = pXVar20;\n            pXVar20->disp = ssh->x11disp;\n            ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);\n          }" { (expression_statement "ptVar9 = ssh->x11authtree;" (assignment_expression "ptVar9 = ssh->x11authtree" identifier = (field_expression "ssh->x11authtree" identifier -> field_identifier)) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x97)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x97)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x97)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18);" (assignment_expression "pXVar20 = (X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18)" identifier = (cast_expression "(X11FakeAuth *)(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18)" ( (type_descriptor "X11FakeAuth *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73528))(ptVar9,uVar18)" (parenthesized_expression "(**(code **)(puVar34 + 0x73528))" ( (pointer_expression "**(code **)(puVar34 + 0x73528)" * (pointer_expression "*(code **)(puVar34 + 0x73528)" * (cast_expression "(code **)(puVar34 + 0x73528)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73528)" ( (binary_expression "puVar34 + 0x73528" identifier + number_literal) ))))) )) (argument_list "(ptVar9,uVar18)" ( identifier , identifier ))))) ;) (expression_statement "psVar22 = ssh->mainchan;" (assignment_expression "psVar22 = ssh->mainchan" identifier = (field_expression "ssh->mainchan" identifier -> field_identifier)) ;) (expression_statement "ssh->x11auth = pXVar20;" (assignment_expression "ssh->x11auth = pXVar20" (field_expression "ssh->x11auth" identifier -> field_identifier) = identifier) ;) (expression_statement "pXVar20->disp = ssh->x11disp;" (assignment_expression "pXVar20->disp = ssh->x11disp" (field_expression "pXVar20->disp" identifier -> field_identifier) = (field_expression "ssh->x11disp" identifier -> field_identifier)) ;) (expression_statement "ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0);" (call_expression "ssh2_setup_x11(psVar22,(Packet *)0x0,(void *)0x0)" identifier (argument_list "(psVar22,(Packet *)0x0,(void *)0x0)" ( identifier , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) }))) })) (expression_statement "iVar2 = ssh_agent_forwarding_permitted(ssh);" (assignment_expression "iVar2 = ssh_agent_forwarding_permitted(ssh)" identifier = (call_expression "ssh_agent_forwarding_permitted(ssh)" identifier (argument_list "(ssh)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }" { (expression_statement "ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0);" (call_expression "ssh2_setup_agent(ssh->mainchan,(Packet *)0x0,(void *)0x0)" identifier (argument_list "(ssh->mainchan,(Packet *)0x0,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) })) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x16)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x16)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x16)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);\n        }" { (expression_statement "ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0);" (call_expression "ssh2_setup_pty(ssh->mainchan,(Packet *)0x0,(void *)0x0)" identifier (argument_list "(ssh->mainchan,(Packet *)0x0,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) })) (expression_statement "ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0);" (call_expression "ssh2_setup_env(ssh->mainchan,(Packet *)0x0,(void *)0x0)" identifier (argument_list "(ssh->mainchan,(Packet *)0x0,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , (cast_expression "(Packet *)0x0" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (if_statement "if (ssh->fallback_cmd == 0) {\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }" if (parenthesized_expression "(ssh->fallback_cmd == 0)" ( (binary_expression "ssh->fallback_cmd == 0" (field_expression "ssh->fallback_cmd" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);\n          uVar18 = 0x14;\n        }" { (expression_statement "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b);" (assignment_expression "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b)" identifier = (cast_expression "(bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2b)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x2b)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))))) ;) (expression_statement "uVar18 = 0x14;" (assignment_expression "uVar18 = 0x14" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }" else (compound_statement "{\nLAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);\n          uVar18 = 0x15;\n        }" { (labeled_statement "LAB_0004261c:\n          ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);" statement_identifier : (expression_statement "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c);" (assignment_expression "ssh_01 = (bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c)" identifier = (cast_expression "(bufchain *)(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c)" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x2c)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x2c)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal ))))) ;)) (expression_statement "uVar18 = 0x15;" (assignment_expression "uVar18 = 0x15" identifier = number_literal) ;) }))) (expression_statement "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18);" (assignment_expression "pcVar4 = (char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18)" identifier = (cast_expression "(char *)(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73094))(ssh->conf,uVar18)" (parenthesized_expression "(**(code **)(puVar34 + 0x73094))" ( (pointer_expression "**(code **)(puVar34 + 0x73094)" * (pointer_expression "*(code **)(puVar34 + 0x73094)" * (cast_expression "(code **)(puVar34 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73094)" ( (binary_expression "puVar34 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,uVar18)" ( (field_expression "ssh->conf" identifier -> field_identifier) , identifier ))))) ;) (if_statement "if (ssh_01 == (bufchain *)0x0) {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }\n        else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }" if (parenthesized_expression "(ssh_01 == (bufchain *)0x0)" ( (binary_expression "ssh_01 == (bufchain *)0x0" identifier == (cast_expression "(bufchain *)0x0" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n        }" { (expression_statement "handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);" (assignment_expression "handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac)" identifier = (call_expression "(cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac)" (parenthesized_expression "(cchandler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + 0xaac)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (*pcVar4 != '\0') {\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }" if (parenthesized_expression "(*pcVar4 != '\0')" ( (binary_expression "*pcVar4 != '\0'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);\n            goto LAB_00041828;\n          }" { (expression_statement "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c);" (assignment_expression "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x574c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x574c)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x574c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00041828;" goto statement_identifier ;) })) (expression_statement "pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0);" (assignment_expression "pPVar10 = ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0)" identifier = (call_expression "ssh2_chanreq_init(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0)" identifier (argument_list "(ssh->mainchan,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754),\n                                      handler,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5754)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5754)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5754" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , identifier , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }" else (compound_statement "{\n          handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);\n          pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);\nLAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);\n          piVar29[0x2e] = (int)pPVar10;\n          ssh_pkt_addstring(pPVar10,pcVar4);\n          pPVar10 = (Packet *)piVar29[0x2e];\n        }" { (expression_statement "handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac);" (assignment_expression "handler = (cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac)" identifier = (call_expression "(cchandler_fn_t)(*(int *)(puVar34 + 0x73504) + 0xaac)" (parenthesized_expression "(cchandler_fn_t)" ( identifier )) (argument_list "(*(int *)(puVar34 + 0x73504) + 0xaac)" ( (binary_expression "*(int *)(puVar34 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar34 + 0x73504)" * (cast_expression "(int *)(puVar34 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73504)" ( (binary_expression "puVar34 + 0x73504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740);" (assignment_expression "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5740)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5740)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5740" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00041828:\n          pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);" statement_identifier : (expression_statement "pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0);" (assignment_expression "pPVar10 = ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0)" identifier = (call_expression "ssh2_chanreq_init(ssh->mainchan,pcVar25,handler,(void *)0x0)" identifier (argument_list "(ssh->mainchan,pcVar25,handler,(void *)0x0)" ( (field_expression "ssh->mainchan" identifier -> field_identifier) , identifier , identifier , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;)) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar10,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar10,pcVar4)" identifier (argument_list "(pPVar10,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "pPVar10 = (Packet *)piVar29[0x2e];" (assignment_expression "pPVar10 = (Packet *)piVar29[0x2e]" identifier = (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]))) ;) }))) (expression_statement "ssh2_pkt_send(ssh,pPVar10);" (call_expression "ssh2_pkt_send(ssh,pPVar10)" identifier (argument_list "(ssh,pPVar10)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00041870:\n        *piVar29 = 0x2a90;" statement_identifier : (expression_statement "*piVar29 = 0x2a90;" (assignment_expression "*piVar29 = 0x2a90" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) }))) }))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 0x33) {\n    piVar29[3] = 0;\n    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n    iVar2 = pPVar3->savedpos;\n    if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }\n    iVar2 = piVar29[1];\n    iVar24 = *(int *)(puVar34 + 0x734a0);\n    if (iVar2 == 0) goto LAB_000411b0;\n    if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }\n    iVar7 = *(int *)(puVar34 + 0x72fb4);\n    if (iVar2 == 5) goto LAB_000411b4;\n    if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;\n  }\n  else {\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 == 0x33)" ( (binary_expression "iVar2 == 0x33" identifier == number_literal) )) (compound_statement "{\n    piVar29[3] = 0;\n    ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);\n    iVar2 = pPVar3->savedpos;\n    if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }\n    iVar2 = piVar29[1];\n    iVar24 = *(int *)(puVar34 + 0x734a0);\n    if (iVar2 == 0) goto LAB_000411b0;\n    if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }\n    iVar7 = *(int *)(puVar34 + 0x72fb4);\n    if (iVar2 == 5) goto LAB_000411b4;\n    if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }\n    if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;\n  }" { (expression_statement "piVar29[3] = 0;" (assignment_expression "piVar29[3] = 0" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90);" (call_expression "ssh_pkt_getstring(pPVar3,(char **)&pPStack_94,(int *)apPStack_90)" identifier (argument_list "(pPVar3,(char **)&pPStack_94,(int *)apPStack_90)" ( identifier , (cast_expression "(char **)&pPStack_94" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pPStack_94" & identifier)) , (cast_expression "(int *)apPStack_90" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "iVar2 = pPVar3->savedpos;" (assignment_expression "iVar2 = pPVar3->savedpos" identifier = (field_expression "pPVar3->savedpos" identifier -> field_identifier)) ;) (if_statement "if ((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }" if (parenthesized_expression "((0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0'))" ( (binary_expression "(0 < pPVar3->length - iVar2) &&\n       (uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')" (parenthesized_expression "(0 < pPVar3->length - iVar2)" ( (binary_expression "0 < pPVar3->length - iVar2" number_literal < (binary_expression "pPVar3->length - iVar2" (field_expression "pPVar3->length" identifier -> field_identifier) - identifier)) )) && (parenthesized_expression "(uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0')" ( (comma_expression "uVar1 = pPVar3->body[iVar2], pPVar3->savedpos = iVar2 + 1, uVar1 != '\0'" (assignment_expression "uVar1 = pPVar3->body[iVar2]" identifier = (subscript_expression "pPVar3->body[iVar2]" (field_expression "pPVar3->body" identifier -> field_identifier) [ identifier ])) , (comma_expression "pPVar3->savedpos = iVar2 + 1, uVar1 != '\0'" (assignment_expression "pPVar3->savedpos = iVar2 + 1" (field_expression "pPVar3->savedpos" identifier -> field_identifier) = (binary_expression "iVar2 + 1" identifier + number_literal)) , (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);\nLAB_000411b4:\n      pPVar10 = apPStack_90[0];\n      pPVar3 = pPStack_94;\n      iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);\n      piVar29[5] = iVar2;\n      iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);\n      pCVar21 = ssh->conf;\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      piVar29[6] = iVar2;\n      uVar13 = (*pcVar35)(pCVar21,0x26);\n      if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }\n      pcVar35 = *(code **)(puVar34 + 0x73040);\n      pCVar21 = ssh->conf;\n      piVar29[7] = uVar13;\n      iVar2 = (*pcVar35)(pCVar21,0x27);\n      if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }\n      goto LAB_0003f88c;\n    }" { (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054),0x21)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5054)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5054)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5054" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5078)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5078" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000411b0:\n      iVar7 = *(int *)(puVar34 + 0x72fb4);" statement_identifier : (expression_statement "iVar7 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar7 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000411b4:\n      pPVar10 = apPStack_90[0];" statement_identifier : (expression_statement "pPVar10 = apPStack_90[0];" (assignment_expression "pPVar10 = apPStack_90[0]" identifier = (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) ;)) (expression_statement "pPVar3 = pPStack_94;" (assignment_expression "pPVar3 = pPStack_94" identifier = identifier) ;) (expression_statement "iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);" (assignment_expression "iVar2 = in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0])" identifier = (call_expression "in_commasep_string((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0])" identifier (argument_list "((char *)(iVar7 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0])" ( (cast_expression "(char *)(iVar7 + 0x5098)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5098)" ( (binary_expression "iVar7 + 0x5098" identifier + number_literal) ))) , (cast_expression "(char *)pPStack_94" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)apPStack_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar29[5] = iVar2;" (assignment_expression "piVar29[5] = iVar2" (subscript_expression "piVar29[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10);" (assignment_expression "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10)" identifier = (call_expression "in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10)" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac),(char *)pPVar3,\n                                 (int)pPVar10)" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x54ac)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(char *)pPVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73040);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar29[6] = iVar2;" (assignment_expression "piVar29[6] = iVar2" (subscript_expression "piVar29[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar13 = (*pcVar35)(pCVar21,0x26);" (assignment_expression "uVar13 = (*pcVar35)(pCVar21,0x26)" identifier = (call_expression "(*pcVar35)(pCVar21,0x26)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pCVar21,0x26)" ( identifier , number_literal )))) ;) (if_statement "if (uVar13 != 0) {\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);\n        uVar13 = (uint)(iVar2 != 0);\n      }" { (expression_statement "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0]);" (assignment_expression "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0])" identifier = (call_expression "in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0])" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4),(char *)pPStack_94\n                                   ,(int)apPStack_90[0])" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50a4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(char *)pPStack_94" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)apPStack_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) )))) ;) (expression_statement "uVar13 = (uint)(iVar2 != 0);" (assignment_expression "uVar13 = (uint)(iVar2 != 0)" identifier = (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )))) ;) })) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73040);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (expression_statement "piVar29[7] = uVar13;" (assignment_expression "piVar29[7] = uVar13" (subscript_expression "piVar29[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*pcVar35)(pCVar21,0x27);" (assignment_expression "iVar2 = (*pcVar35)(pCVar21,0x27)" identifier = (call_expression "(*pcVar35)(pCVar21,0x27)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(pCVar21,0x27)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)) {\n        piVar29[10] = 0;\n      }\n      else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }" if (parenthesized_expression "((iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0))" ( (binary_expression "(iVar2 == 0) ||\n         (iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0)" ( (comma_expression "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0]), iVar2 == 0" (assignment_expression "iVar2 = in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0])" identifier = (call_expression "in_commasep_string((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0])" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc),\n                                     (char *)pPStack_94,(int)apPStack_90[0])" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50bc)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(char *)pPStack_94" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)apPStack_90[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) )))) , (binary_expression "iVar2 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        piVar29[10] = 0;\n      }" { (expression_statement "piVar29[10] = 0;" (assignment_expression "piVar29[10] = 0" (subscript_expression "piVar29[10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }" else (compound_statement "{\n        psVar14 = ssh->gsslibs;\n        if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }\n        piVar29[10] = (uint)(0 < psVar14->nlibraries);\n      }" { (expression_statement "psVar14 = ssh->gsslibs;" (assignment_expression "psVar14 = ssh->gsslibs" identifier = (field_expression "ssh->gsslibs" identifier -> field_identifier)) ;) (if_statement "if (psVar14 == (ssh_gss_liblist *)0x0) {\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }" if (parenthesized_expression "(psVar14 == (ssh_gss_liblist *)0x0)" ( (binary_expression "psVar14 == (ssh_gss_liblist *)0x0" identifier == (cast_expression "(ssh_gss_liblist *)0x0" ( (type_descriptor "ssh_gss_liblist *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);\n          ssh->gsslibs = psVar14;\n        }" { (expression_statement "psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf);" (assignment_expression "psVar14 = (ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf)" identifier = (cast_expression "(ssh_gss_liblist *)(**(code **)(puVar34 + 0x73558))(ssh->conf)" ( (type_descriptor "ssh_gss_liblist *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73558))(ssh->conf)" (parenthesized_expression "(**(code **)(puVar34 + 0x73558))" ( (pointer_expression "**(code **)(puVar34 + 0x73558)" * (pointer_expression "*(code **)(puVar34 + 0x73558)" * (cast_expression "(code **)(puVar34 + 0x73558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73558)" ( (binary_expression "puVar34 + 0x73558" identifier + number_literal) ))))) )) (argument_list "(ssh->conf)" ( (field_expression "ssh->conf" identifier -> field_identifier) ))))) ;) (expression_statement "ssh->gsslibs = psVar14;" (assignment_expression "ssh->gsslibs = psVar14" (field_expression "ssh->gsslibs" identifier -> field_identifier) = identifier) ;) })) (expression_statement "piVar29[10] = (uint)(0 < psVar14->nlibraries);" (assignment_expression "piVar29[10] = (uint)(0 < psVar14->nlibraries)" (subscript_expression "piVar29[10]" identifier [ number_literal ]) = (call_expression "(uint)(0 < psVar14->nlibraries)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < psVar14->nlibraries)" ( (binary_expression "0 < psVar14->nlibraries" number_literal < (field_expression "psVar14->nlibraries" identifier -> field_identifier)) )))) ;) }))) (goto_statement "goto LAB_0003f88c;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar29[1];" (assignment_expression "iVar2 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) (expression_statement "iVar24 = *(int *)(puVar34 + 0x734a0);" (assignment_expression "iVar24 = *(int *)(puVar34 + 0x734a0)" identifier = (pointer_expression "*(int *)(puVar34 + 0x734a0)" * (cast_expression "(int *)(puVar34 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x734a0)" ( (binary_expression "puVar34 + 0x734a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (if_statement "if (iVar2 - 2U < 2) {\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }" if (parenthesized_expression "(iVar2 - 2U < 2)" ( (binary_expression "iVar2 - 2U < 2" (binary_expression "iVar2 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);\n      goto LAB_000411b0;\n    }" { (if_statement "if (iVar2 == 2) {\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }" if (parenthesized_expression "(iVar2 == 2)" ( (binary_expression "iVar2 == 2" identifier == number_literal) )) (compound_statement "{\n        c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);\n      }" { (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4),0x18)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ef4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4ef4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4ef4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) })) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f10)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4f10" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 1) {\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);\n      goto LAB_000411b0;\n    }" { (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28),0x3c)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4f28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4f28)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4f28" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4f68)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4f68" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 7) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }" if (parenthesized_expression "(iVar2 == 7)" ( (binary_expression "iVar2 == 7" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);\n      goto LAB_000411b0;\n    }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fa4)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4fa4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (expression_statement "iVar7 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar7 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 5) goto LAB_000411b4;" if (parenthesized_expression "(iVar2 == 5)" ( (binary_expression "iVar2 == 5" identifier == number_literal) )) (goto_statement "goto LAB_000411b4;" goto statement_identifier ;)) (if_statement "if (iVar2 == 6) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }" if (parenthesized_expression "(iVar2 == 6)" ( (binary_expression "iVar2 == 6" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      goto LAB_000411b0;\n    }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x4fd8)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4fd8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5004)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar2 == 4) {\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }" if (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);\n      c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);\n      iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);\n      if (iVar2 == 0) goto LAB_000411b0;\n      pCVar21 = ssh->conf;\n      piVar29[0xd] = 0;\n      if (piVar29[0x13] == 0) goto LAB_0003fc40;\n      iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);\n      if (iVar2 == 0) goto LAB_0003fc6c;\n      pCVar21 = ssh->conf;\n      goto LAB_0003fc40;\n    }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x5034)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5034" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004),0xf)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5004)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5004)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(ssh->conf,0x1e)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x1e)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (expression_statement "piVar29[0xd] = 0;" (assignment_expression "piVar29[0xd] = 0" (subscript_expression "piVar29[0xd]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar29[0x13] == 0) goto LAB_0003fc40;" if (parenthesized_expression "(piVar29[0x13] == 0)" ( (binary_expression "piVar29[0x13] == 0" (subscript_expression "piVar29[0x13]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;)) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73040))(pCVar21,0x1e)" identifier = (call_expression "(**(code **)(puVar34 + 0x73040))(pCVar21,0x1e)" (parenthesized_expression "(**(code **)(puVar34 + 0x73040))" ( (pointer_expression "**(code **)(puVar34 + 0x73040)" * (pointer_expression "*(code **)(puVar34 + 0x73040)" * (cast_expression "(code **)(puVar34 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73040)" ( (binary_expression "puVar34 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(pCVar21,0x1e)" ( identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) goto LAB_0003fc6c;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fc6c;" goto statement_identifier ;)) (expression_statement "pCVar21 = ssh->conf;" (assignment_expression "pCVar21 = ssh->conf" identifier = (field_expression "ssh->conf" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar34 + 0x73938))" ( (pointer_expression "**(code **)(puVar34 + 0x73938)" * (pointer_expression "*(code **)(puVar34 + 0x73938)" * (cast_expression "(code **)(puVar34 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73938)" ( (binary_expression "puVar34 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x5014,*(int *)(puVar34 + 0x72fb4) + 0x35c0,0x2600,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5014" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar24 != *(int *)(puVar34 + 0x73550)) goto LAB_000402f8;" if (parenthesized_expression "(iVar24 != *(int *)(puVar34 + 0x73550))" ( (binary_expression "iVar24 != *(int *)(puVar34 + 0x73550)" identifier != (pointer_expression "*(int *)(puVar34 + 0x73550)" * (cast_expression "(int *)(puVar34 + 0x73550)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73550)" ( (binary_expression "puVar34 + 0x73550" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000402f8;" goto statement_identifier ;)) }) (else_clause "else {\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }" else (compound_statement "{\n    if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar29[3] = 0;\nLAB_0003f88c:\n    iVar2 = piVar29[5];\n    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;\n    if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }\n    if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }\n    piVar29[0xb] = 1;\n    iVar24 = 0;\n    piVar29[3] = 1;\n    piVar29[1] = 5;\n    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;\n    iVar2 = **(int **)(puVar34 + 0x73414);\n    piVar29[0x30] = 0;\n    if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }\n    iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);\n    c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);\nLAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }\n    unaff_s5 = (Packet *)apPStack_90;\n    iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);\n    piVar29[0x2f] = iVar2;\n    iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);\n    if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }\n  }" { (if_statement "if (piVar29[1] != 5) {\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar29[1] != 5)" ( (binary_expression "piVar29[1] != 5" (subscript_expression "piVar29[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);\nLAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);\nLAB_00040050:\n      bomb_out(ssh,pcVar4);\nLAB_0003fd38:\n      *piVar29 = 0;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc);" (assignment_expression "pcVar4 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4ebc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4ebc)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4ebc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00040078:\n      pcVar4 = dupprintf(pcVar4,iVar2);" statement_identifier : (expression_statement "pcVar4 = dupprintf(pcVar4,iVar2);" (assignment_expression "pcVar4 = dupprintf(pcVar4,iVar2)" identifier = (call_expression "dupprintf(pcVar4,iVar2)" identifier (argument_list "(pcVar4,iVar2)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_00040050:\n      bomb_out(ssh,pcVar4);" statement_identifier : (expression_statement "bomb_out(ssh,pcVar4);" (call_expression "bomb_out(ssh,pcVar4)" identifier (argument_list "(ssh,pcVar4)" ( identifier , identifier ))) ;)) (labeled_statement "LAB_0003fd38:\n      *piVar29 = 0;" statement_identifier : (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar29[3] = 0;" (assignment_expression "piVar29[3] = 0" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003f88c:\n    iVar2 = piVar29[5];" statement_identifier : (expression_statement "iVar2 = piVar29[5];" (assignment_expression "iVar2 = piVar29[5]" identifier = (subscript_expression "piVar29[5]" identifier [ number_literal ])) ;)) (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_NOAUTH" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar2 != 0) {\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n      if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }\n    }" { (if_statement "if ((piVar29[9] == 0) && (piVar29[0x21] != 0)) {\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }" if (parenthesized_expression "((piVar29[9] == 0) && (piVar29[0x21] != 0))" ( (binary_expression "(piVar29[9] == 0) && (piVar29[0x21] != 0)" (parenthesized_expression "(piVar29[9] == 0)" ( (binary_expression "piVar29[9] == 0" (subscript_expression "piVar29[9]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(piVar29[0x21] != 0)" ( (binary_expression "piVar29[0x21] != 0" (subscript_expression "piVar29[0x21]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        iVar2 = *(int *)(puVar34 + 0x72fb4);\n        iVar24 = piVar29[0x20];\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        iVar7 = piVar29[0x1d];\n        piVar29[0x25] = iVar2;\n        iVar24 = iVar7 + 4;\n        piVar29[0x22] = iVar24;\n        pcVar35 = *(code **)(puVar34 + 0x73100);\n        piVar29[0x1d] = iVar24 + iVar2;\n        iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));\n        piVar29[0x26] = iVar2;\n        piVar29[0x23] = piVar29[0x22] + 4;\n        iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);\n        piVar29[0x27] = iVar2;\n        piVar29[0x24] = piVar29[0x1d] + 4;\n        piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }" { (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4);" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = piVar29[0x20];" (assignment_expression "iVar24 = piVar29[0x20]" identifier = (subscript_expression "piVar29[0x20]" identifier [ number_literal ])) ;) (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24);" (call_expression "logeventf(ssh,(char *)(iVar2 + 0x50cc),iVar24)" identifier (argument_list "(ssh,(char *)(iVar2 + 0x50cc),iVar24)" ( identifier , (cast_expression "(char *)(iVar2 + 0x50cc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x50cc)" ( (binary_expression "iVar2 + 0x50cc" identifier + number_literal) ))) , identifier ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d])" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d])" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar29[0x1d])" ( (pointer_expression "*(undefined4 *)piVar29[0x1d]" * (cast_expression "(undefined4 *)piVar29[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "iVar7 = piVar29[0x1d];" (assignment_expression "iVar7 = piVar29[0x1d]" identifier = (subscript_expression "piVar29[0x1d]" identifier [ number_literal ])) ;) (expression_statement "piVar29[0x25] = iVar2;" (assignment_expression "piVar29[0x25] = iVar2" (subscript_expression "piVar29[0x25]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar24 = iVar7 + 4;" (assignment_expression "iVar24 = iVar7 + 4" identifier = (binary_expression "iVar7 + 4" identifier + number_literal)) ;) (expression_statement "piVar29[0x22] = iVar24;" (assignment_expression "piVar29[0x22] = iVar24" (subscript_expression "piVar29[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x73100);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x73100)" identifier = (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) ;) (expression_statement "piVar29[0x1d] = iVar24 + iVar2;" (assignment_expression "piVar29[0x1d] = iVar24 + iVar2" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) = (binary_expression "iVar24 + iVar2" identifier + identifier)) ;) (expression_statement "iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4));" (assignment_expression "iVar2 = (*pcVar35)(*(undefined4 *)(iVar7 + 4))" identifier = (call_expression "(*pcVar35)(*(undefined4 *)(iVar7 + 4))" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(*(undefined4 *)(iVar7 + 4))" ( (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) )))) )))) ;) (expression_statement "piVar29[0x26] = iVar2;" (assignment_expression "piVar29[0x26] = iVar2" (subscript_expression "piVar29[0x26]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar29[0x23] = piVar29[0x22] + 4;" (assignment_expression "piVar29[0x23] = piVar29[0x22] + 4" (subscript_expression "piVar29[0x23]" identifier [ number_literal ]) = (binary_expression "piVar29[0x22] + 4" (subscript_expression "piVar29[0x22]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d])" identifier = (call_expression "(**(code **)(puVar34 + 0x73100))(*(undefined4 *)piVar29[0x1d])" (parenthesized_expression "(**(code **)(puVar34 + 0x73100))" ( (pointer_expression "**(code **)(puVar34 + 0x73100)" * (pointer_expression "*(code **)(puVar34 + 0x73100)" * (cast_expression "(code **)(puVar34 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73100)" ( (binary_expression "puVar34 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar29[0x1d])" ( (pointer_expression "*(undefined4 *)piVar29[0x1d]" * (cast_expression "(undefined4 *)piVar29[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "piVar29[0x27] = iVar2;" (assignment_expression "piVar29[0x27] = iVar2" (subscript_expression "piVar29[0x27]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar29[0x24] = piVar29[0x1d] + 4;" (assignment_expression "piVar29[0x24] = piVar29[0x1d] + 4" (subscript_expression "piVar29[0x24]" identifier [ number_literal ]) = (binary_expression "piVar29[0x1d] + 4" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2;" (assignment_expression "piVar29[0x1d] = piVar29[0x1d] + 4 + iVar2" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar29[0x1d] + 4 + iVar2" (binary_expression "piVar29[0x1d] + 4" (subscript_expression "piVar29[0x1d]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "uStack_98 = uStack_98 & 0xffffff;" (assignment_expression "uStack_98 = uStack_98 & 0xffffff" identifier = (binary_expression "uStack_98 & 0xffffff" identifier & number_literal)) ;) comment (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1)" identifier (argument_list "((Packet *)piVar29[0x2e],&uStack_98,1)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (pointer_expression "&uStack_98" & identifier) , number_literal ))) ;) })) (if_statement "if (((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)) {\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }" if (parenthesized_expression "(((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0))" ( (binary_expression "((piVar29[0x14] != 0) && (piVar29[0x16] != 0)) && (piVar29[8] == 0)" (parenthesized_expression "((piVar29[0x14] != 0) && (piVar29[0x16] != 0))" ( (binary_expression "(piVar29[0x14] != 0) && (piVar29[0x16] != 0)" (parenthesized_expression "(piVar29[0x14] != 0)" ( (binary_expression "piVar29[0x14] != 0" (subscript_expression "piVar29[0x14]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(piVar29[0x16] != 0)" ( (binary_expression "piVar29[0x16] != 0" (subscript_expression "piVar29[0x16]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar29[8] == 0)" ( (binary_expression "piVar29[8] == 0" (subscript_expression "piVar29[8]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;\n        piVar29[8] = 1;\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        uStack_98 = uStack_98 & 0xffffff;\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);\n      }" { (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar29[8] = 1;" (assignment_expression "piVar29[8] = 1" (subscript_expression "piVar29[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "uStack_98 = uStack_98 & 0xffffff;" (assignment_expression "uStack_98 = uStack_98 & 0xffffff" identifier = (binary_expression "uStack_98 & 0xffffff" identifier & number_literal)) ;) comment (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],&uStack_98,1)" identifier (argument_list "((Packet *)piVar29[0x2e],&uStack_98,1)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (pointer_expression "&uStack_98" & identifier) , number_literal ))) ;) })) })) (if_statement "if ((piVar29[10] == 0) || (piVar29[0xb] != 0)) {\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "((piVar29[10] == 0) || (piVar29[0xb] != 0))" ( (binary_expression "(piVar29[10] == 0) || (piVar29[0xb] != 0)" (parenthesized_expression "(piVar29[10] == 0)" ( (binary_expression "piVar29[10] == 0" (subscript_expression "piVar29[10]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(piVar29[0xb] != 0)" ( (binary_expression "piVar29[0xb] != 0" (subscript_expression "piVar29[0xb]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }\n      ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);\n      piVar29[1] = 6;\n      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;\n      pPVar10 = ssh2_pkt_init(0x32);\n      pcVar4 = ssh->username;\n      piVar29[0x2e] = (int)pPVar10;\n      ssh_pkt_addstring(pPVar10,pcVar4);\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));\n      ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);\n      (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n      *piVar29 = 0x284b;\n      goto LAB_0003fd3c;\n    }" { (if_statement "if ((piVar29[7] == 0) || (piVar29[0xc] != 0)) {\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }" if (parenthesized_expression "((piVar29[7] == 0) || (piVar29[0xc] != 0))" ( (binary_expression "(piVar29[7] == 0) || (piVar29[0xc] != 0)" (parenthesized_expression "(piVar29[7] == 0)" ( (binary_expression "piVar29[7] == 0" (subscript_expression "piVar29[7]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(piVar29[0xc] != 0)" ( (binary_expression "piVar29[0xc] != 0" (subscript_expression "piVar29[0xc]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }\n        pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;\n        ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);\n        goto LAB_00041054;\n      }" { (if_statement "if (piVar29[6] != 0) {\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }" if (parenthesized_expression "(piVar29[6] != 0)" ( (binary_expression "piVar29[6] != 0" (subscript_expression "piVar29[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;\n          ppVar5 = new_prompts(ssh->frontend);\n          piVar29[0xf] = (int)ppVar5;\n          ppVar5->to_server = 1;\n                    /* WARNING: Subroutine does not return */\n          dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));\n        }" { (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_PASSWORD" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar5 = new_prompts(ssh->frontend);" (assignment_expression "ppVar5 = new_prompts(ssh->frontend)" identifier = (call_expression "new_prompts(ssh->frontend)" identifier (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) )))) ;) (expression_statement "piVar29[0xf] = (int)ppVar5;" (assignment_expression "piVar29[0xf] = (int)ppVar5" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) = (cast_expression "(int)ppVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ppVar5->to_server = 1;" (assignment_expression "ppVar5->to_server = 1" (field_expression "ppVar5->to_server" identifier -> field_identifier) = number_literal) ;) comment (expression_statement "dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8));" (call_expression "dupstr((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8))" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8))" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x54a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x54a8)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x54a8" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) (expression_statement "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)\n        ;" (assignment_expression "pcVar4 = dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)" identifier = (call_expression "dupprintf((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)" identifier (argument_list "((char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)" ( (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5554)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5554)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5554" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0);" (call_expression "ssh_disconnect(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0)" identifier (argument_list "(ssh,pcVar4,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598),0xe,0)" ( identifier , identifier , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5598)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5598)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5598" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00041054;" goto statement_identifier ;) })) (expression_statement "ssh_01 = *(bufchain **)(puVar34 + 0x72fb4);" (assignment_expression "ssh_01 = *(bufchain **)(puVar34 + 0x72fb4)" identifier = (pointer_expression "*(bufchain **)(puVar34 + 0x72fb4)" * (cast_expression "(bufchain **)(puVar34 + 0x72fb4)" ( (type_descriptor "bufchain **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar29[1] = 6;" (assignment_expression "piVar29[1] = 6" (subscript_expression "piVar29[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_KBDINTER" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar10 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar10 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar10;" (assignment_expression "piVar29[0x2e] = (int)pPVar10" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar10,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar10,pcVar4)" identifier (argument_list "(pPVar10,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50a4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50a4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)((int)(ssh_01 + 0x69d) + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(ssh_01 + 0x69d) + 8)" ( (binary_expression "(int)(ssh_01 + 0x69d) + 8" (cast_expression "(int)(ssh_01 + 0x69d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ssh_01 + 0x69d)" ( (binary_expression "ssh_01 + 0x69d" identifier + number_literal) ))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)((int)(ssh_01 + 0x69d) + 8))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)((int)(ssh_01 + 0x69d) + 8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(ssh_01 + 0x69d) + 8)" ( (binary_expression "(int)(ssh_01 + 0x69d) + 8" (cast_expression "(int)(ssh_01 + 0x69d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ssh_01 + 0x69d)" ( (binary_expression "ssh_01 + 0x69d" identifier + number_literal) ))) + number_literal) ))) ))) ;) (expression_statement "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e]);" (call_expression "ssh2_pkt_send(ssh,(Packet *)piVar29[0x2e])" identifier (argument_list "(ssh,(Packet *)piVar29[0x2e])" ( identifier , (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x53ec)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x53ec" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004072c:\n      *piVar29 = 0x284b;" statement_identifier : (expression_statement "*piVar29 = 0x284b;" (assignment_expression "*piVar29 = 0x284b" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar29[0xb] = 1;" (assignment_expression "piVar29[0xb] = 1" (subscript_expression "piVar29[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar24 = 0;" (assignment_expression "iVar24 = 0" identifier = number_literal) ;) (expression_statement "piVar29[3] = 1;" (assignment_expression "piVar29[3] = 1" (subscript_expression "piVar29[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar29[1] = 5;" (assignment_expression "piVar29[1] = 5" (subscript_expression "piVar29[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;" (assignment_expression "ssh->pkt_actx = SSH2_PKTCTX_GSSAPI" (field_expression "ssh->pkt_actx" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar2 = **(int **)(puVar34 + 0x73414);" (assignment_expression "iVar2 = **(int **)(puVar34 + 0x73414)" identifier = (pointer_expression "**(int **)(puVar34 + 0x73414)" * (pointer_expression "*(int **)(puVar34 + 0x73414)" * (cast_expression "(int **)(puVar34 + 0x73414)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73414)" ( (binary_expression "puVar34 + 0x73414" identifier + number_literal) )))))) ;) (expression_statement "piVar29[0x30] = 0;" (assignment_expression "piVar29[0x30] = 0" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < iVar2) {\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n      pcVar35 = *(code **)(puVar34 + 0x733d0);\n      do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);\n      psVar26 = (ssh_gss_library *)piVar29[0x30];\nLAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }\n    }" { (expression_statement "pcVar35 = *(code **)(puVar34 + 0x733d0);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar34 + 0x733d0)" * (cast_expression "(code **)(puVar34 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x733d0)" ( (binary_expression "puVar34 + 0x733d0" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      } while (iVar2 != iVar24);" do (compound_statement "{\n        iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);\n        iVar27 = ssh->gsslibs->nlibraries;\n        if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }\n        iVar24 = iVar24 + 1;\n        pcVar35 = *(code **)(puVar34 + 0x733d0);\n      }" { (expression_statement "iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24);" (assignment_expression "iVar7 = (*pcVar35)(ssh->conf,0x29,iVar24)" identifier = (call_expression "(*pcVar35)(ssh->conf,0x29,iVar24)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(ssh->conf,0x29,iVar24)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal , identifier )))) ;) (expression_statement "iVar27 = ssh->gsslibs->nlibraries;" (assignment_expression "iVar27 = ssh->gsslibs->nlibraries" identifier = (field_expression "ssh->gsslibs->nlibraries" (field_expression "ssh->gsslibs" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (0 < iVar27) {\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }" if (parenthesized_expression "(0 < iVar27)" ( (binary_expression "0 < iVar27" number_literal < identifier) )) (compound_statement "{\n          psVar26 = ssh->gsslibs->libraries;\n          if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }\n          iVar23 = 0;\n          while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }\n        }" { (expression_statement "psVar26 = ssh->gsslibs->libraries;" (assignment_expression "psVar26 = ssh->gsslibs->libraries" identifier = (field_expression "ssh->gsslibs->libraries" (field_expression "ssh->gsslibs" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (iVar7 == psVar26->id) {\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }" if (parenthesized_expression "(iVar7 == psVar26->id)" ( (binary_expression "iVar7 == psVar26->id" identifier == (field_expression "psVar26->id" identifier -> field_identifier)) )) (compound_statement "{\nLAB_0004106c:\n            piVar29[0x30] = (int)psVar26;\n            goto LAB_0003f984;\n          }" { (labeled_statement "LAB_0004106c:\n            piVar29[0x30] = (int)psVar26;" statement_identifier : (expression_statement "piVar29[0x30] = (int)psVar26;" (assignment_expression "piVar29[0x30] = (int)psVar26" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) = (cast_expression "(int)psVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (goto_statement "goto LAB_0003f984;" goto statement_identifier ;) })) (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            psVar26 = psVar26 + 1;\n            iVar23 = iVar23 + 1;\n            if (iVar23 == iVar27) break;\n            if (psVar26->id == iVar7) goto LAB_0004106c;\n          }" { (expression_statement "psVar26 = psVar26 + 1;" (assignment_expression "psVar26 = psVar26 + 1" identifier = (binary_expression "psVar26 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (if_statement "if (iVar23 == iVar27) break;" if (parenthesized_expression "(iVar23 == iVar27)" ( (binary_expression "iVar23 == iVar27" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (psVar26->id == iVar7) goto LAB_0004106c;" if (parenthesized_expression "(psVar26->id == iVar7)" ( (binary_expression "psVar26->id == iVar7" (field_expression "psVar26->id" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_0004106c;" goto statement_identifier ;)) })) })) (expression_statement "iVar24 = iVar24 + 1;" (assignment_expression "iVar24 = iVar24 + 1" identifier = (binary_expression "iVar24 + 1" identifier + number_literal)) ;) (expression_statement "pcVar35 = *(code **)(puVar34 + 0x733d0);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar34 + 0x733d0)" * (cast_expression "(code **)(puVar34 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x733d0)" ( (binary_expression "puVar34 + 0x733d0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar2 != iVar24)" ( (binary_expression "iVar2 != iVar24" identifier != identifier) )) ;) (expression_statement "psVar26 = (ssh_gss_library *)piVar29[0x30];" (assignment_expression "psVar26 = (ssh_gss_library *)piVar29[0x30]" identifier = (cast_expression "(ssh_gss_library *)piVar29[0x30]" ( (type_descriptor "ssh_gss_library *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0003f984:\n      if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }" statement_identifier : (if_statement "if (psVar26 != (ssh_gss_library *)0x0) {\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }" if (parenthesized_expression "(psVar26 != (ssh_gss_library *)0x0)" ( (binary_expression "psVar26 != (ssh_gss_library *)0x0" identifier != (cast_expression "(ssh_gss_library *)0x0" ( (type_descriptor "ssh_gss_library *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));\n        (**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);\n                    /* WARNING: Subroutine does not return */\n        iStack_88 = 1;\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);\n      }" { (if_statement "if (psVar26->gsslogmsg != (char *)0x0) {\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }" if (parenthesized_expression "(psVar26->gsslogmsg != (char *)0x0)" ( (binary_expression "psVar26->gsslogmsg != (char *)0x0" (field_expression "psVar26->gsslogmsg" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar34 + 0x73038))(ssh->frontend);\n        }" { (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) ))) ;) })) (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x50bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x50bc)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c);" (call_expression "(**(code **)(puVar34 + 0x73038))(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c)" (parenthesized_expression "(**(code **)(puVar34 + 0x73038))" ( (pointer_expression "**(code **)(puVar34 + 0x73038)" * (pointer_expression "*(code **)(puVar34 + 0x73038)" * (cast_expression "(code **)(puVar34 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73038)" ( (binary_expression "puVar34 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend,*(int *)(puVar34 + 0x72fb4) + 0x524c)" ( (field_expression "ssh->frontend" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x524c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32);" (call_expression "(**(code **)(piVar29[0x30] + 8))(piVar29[0x30],piVar29 + 0x32)" (parenthesized_expression "(**(code **)(piVar29[0x30] + 8))" ( (pointer_expression "**(code **)(piVar29[0x30] + 8)" * (pointer_expression "*(code **)(piVar29[0x30] + 8)" * (cast_expression "(code **)(piVar29[0x30] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar29[0x30] + 8)" ( (binary_expression "piVar29[0x30] + 8" (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar29[0x30],piVar29 + 0x32)" ( (subscript_expression "piVar29[0x30]" identifier [ number_literal ]) , (binary_expression "piVar29 + 0x32" identifier + number_literal) ))) ;) comment (expression_statement "iStack_88 = 1;" (assignment_expression "iStack_88 = 1" identifier = number_literal) ;) (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],&iStack_88,4)" identifier (argument_list "((Packet *)piVar29[0x2e],&iStack_88,4)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (pointer_expression "&iStack_88" & identifier) , number_literal ))) ;) }))) })) (expression_statement "iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0;" (assignment_expression "iVar2 = *(int *)(puVar34 + 0x72fb4) + 0x35c0" identifier = (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar34 + 0x73938))\n              (*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar34 + 0x73938))" ( (pointer_expression "**(code **)(puVar34 + 0x73938)" * (pointer_expression "*(code **)(puVar34 + 0x73938)" * (cast_expression "(code **)(puVar34 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73938)" ( (binary_expression "puVar34 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x5240,iVar2,0x2799,\n               *(int *)(puVar34 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5240" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12);" (call_expression "c_write((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12)" identifier (argument_list "((Ssh_conflict)&ssh->frontend,(char *)(iVar2 + 0x51dc),0x12)" ( (binary_expression "(Ssh_conflict)&ssh->frontend" (parenthesized_expression "(Ssh_conflict)" ( identifier )) & (field_expression "ssh->frontend" identifier -> field_identifier)) , (cast_expression "(char *)(iVar2 + 0x51dc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x51dc)" ( (binary_expression "iVar2 + 0x51dc" identifier + number_literal) ))) , number_literal ))) ;) (labeled_statement "LAB_00041ae8:\n    if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (piVar29[0x17] != 0) {\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar29[0x17] != 0)" ( (binary_expression "piVar29[0x17] != 0" (subscript_expression "piVar29[0x17]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);\n      piVar29[0xf] = (int)puVar17;\n      *puVar17 = 0;\n      uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);\n      iVar2 = piVar29[0x19];\n      ssh_01 = (bufchain *)piVar29[0xf];\n      puVar17[1] = uVar18;\n      uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);\n      (**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);\n      iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);\nLAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }\n      goto LAB_0003fd3c;\n    }" { (expression_statement "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend);" (assignment_expression "puVar17 = (undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar34 + 0x73530))(ssh->frontend)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar34 + 0x73530))(ssh->frontend)" (parenthesized_expression "(**(code **)(puVar34 + 0x73530))" ( (pointer_expression "**(code **)(puVar34 + 0x73530)" * (pointer_expression "*(code **)(puVar34 + 0x73530)" * (cast_expression "(code **)(puVar34 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73530)" ( (binary_expression "puVar34 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(ssh->frontend)" ( (field_expression "ssh->frontend" identifier -> field_identifier) ))))) ;) (expression_statement "piVar29[0xf] = (int)puVar17;" (assignment_expression "piVar29[0xf] = (int)puVar17" (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar17 = 0;" (assignment_expression "*puVar17 = 0" (pointer_expression "*puVar17" * identifier) = number_literal) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190)" identifier = (call_expression "(**(code **)(puVar34 + 0x7301c))(*(int *)(puVar34 + 0x72fb4) + 0x5190)" (parenthesized_expression "(**(code **)(puVar34 + 0x7301c))" ( (pointer_expression "**(code **)(puVar34 + 0x7301c)" * (pointer_expression "*(code **)(puVar34 + 0x7301c)" * (cast_expression "(code **)(puVar34 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7301c)" ( (binary_expression "puVar34 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x5190)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5190" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = piVar29[0x19];" (assignment_expression "iVar2 = piVar29[0x19]" identifier = (subscript_expression "piVar29[0x19]" identifier [ number_literal ])) ;) (expression_statement "ssh_01 = (bufchain *)piVar29[0xf];" (assignment_expression "ssh_01 = (bufchain *)piVar29[0xf]" identifier = (cast_expression "(bufchain *)piVar29[0xf]" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar17[1] = uVar18;" (assignment_expression "puVar17[1] = uVar18" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2);" (assignment_expression "uVar18 = (**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2)" identifier = (call_expression "(**(code **)(puVar34 + 0x73010))(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2)" (parenthesized_expression "(**(code **)(puVar34 + 0x73010))" ( (pointer_expression "**(code **)(puVar34 + 0x73010)" * (pointer_expression "*(code **)(puVar34 + 0x73010)" * (cast_expression "(code **)(puVar34 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73010)" ( (binary_expression "puVar34 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar34 + 0x72fb4) + 0x51a4,iVar2)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x51a4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "(**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0);" (call_expression "(**(code **)(puVar34 + 0x73534))(ssh_01,uVar18,0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73534))" ( (pointer_expression "**(code **)(puVar34 + 0x73534)" * (pointer_expression "*(code **)(puVar34 + 0x73534)" * (cast_expression "(code **)(puVar34 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73534)" ( (binary_expression "puVar34 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(ssh_01,uVar18,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar34 + 0x73538))(piVar29[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar34 + 0x73538))" ( (pointer_expression "**(code **)(puVar34 + 0x73538)" * (pointer_expression "*(code **)(puVar34 + 0x73538)" * (cast_expression "(code **)(puVar34 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73538)" ( (binary_expression "puVar34 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar29[0xf],0,0)" ( (subscript_expression "piVar29[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040240:\n      if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }" statement_identifier : (if_statement "if (iVar2 < 0) {\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }\n      else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n        ssh->send_ok = 1;\n        *piVar29 = 0x2703;\n      }" { (expression_statement "ssh->send_ok = 1;" (assignment_expression "ssh->send_ok = 1" (field_expression "ssh->send_ok" identifier -> field_identifier) = number_literal) ;) (expression_statement "*piVar29 = 0x2703;" (assignment_expression "*piVar29 = 0x2703" (pointer_expression "*piVar29" * identifier) = number_literal) ;) }) (else_clause "else {\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }" else (compound_statement "{\n        iVar24 = piVar29[0xf];\n        if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }\nFUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);\nLAB_00040b08:\n        (*pcVar35)(iVar24);\n        iVar2 = 0xd;\n        pcVar4 = (char *)0x0;\n        pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);\nLAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);\n        *piVar29 = 0;\n      }" { (expression_statement "iVar24 = piVar29[0xf];" (assignment_expression "iVar24 = piVar29[0xf]" identifier = (subscript_expression "piVar29[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 != 0) {\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));\n        }" { comment (expression_statement "dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8));" (call_expression "dupstr(*(char **)(**(int **)(iVar24 + 0x18) + 8))" identifier (argument_list "(*(char **)(**(int **)(iVar24 + 0x18) + 8))" ( (pointer_expression "*(char **)(**(int **)(iVar24 + 0x18) + 8)" * (cast_expression "(char **)(**(int **)(iVar24 + 0x18) + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar24 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar24 + 0x18) + 8" (pointer_expression "**(int **)(iVar24 + 0x18)" * (pointer_expression "*(int **)(iVar24 + 0x18)" * (cast_expression "(int **)(iVar24 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar24 + 0x18)" ( (binary_expression "iVar24 + 0x18" identifier + number_literal) ))))) + number_literal) )))) ))) ;) })) (labeled_statement "FUN_00040b04:\n        pcVar35 = *(code **)(puVar34 + 0x7353c);" statement_identifier : (expression_statement "pcVar35 = *(code **)(puVar34 + 0x7353c);" (assignment_expression "pcVar35 = *(code **)(puVar34 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar34 + 0x7353c)" * (cast_expression "(code **)(puVar34 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7353c)" ( (binary_expression "puVar34 + 0x7353c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00040b08:\n        (*pcVar35)(iVar24);" statement_identifier : (expression_statement "(*pcVar35)(iVar24);" (call_expression "(*pcVar35)(iVar24)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar24)" ( identifier ))) ;)) (expression_statement "iVar2 = 0xd;" (assignment_expression "iVar2 = 0xd" identifier = number_literal) ;) (expression_statement "pcVar4 = (char *)0x0;" (assignment_expression "pcVar4 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4);" (assignment_expression "pcVar25 = (char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4)" identifier = (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51c4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x51c4)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x51c4" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00040b30:\n        ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);" statement_identifier : (expression_statement "ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1);" (call_expression "ssh_disconnect(ssh,pcVar4,pcVar25,iVar2,1)" identifier (argument_list "(ssh,pcVar4,pcVar25,iVar2,1)" ( identifier , identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "*piVar29 = 0;" (assignment_expression "*piVar29 = 0" (pointer_expression "*piVar29" * identifier) = number_literal) ;) })))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (expression_statement "unaff_s5 = (Packet *)apPStack_90;" (assignment_expression "unaff_s5 = (Packet *)apPStack_90" identifier = (cast_expression "(Packet *)apPStack_90" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73134))(ssh->conf,0x20)" identifier = (call_expression "(**(code **)(puVar34 + 0x73134))(ssh->conf,0x20)" (parenthesized_expression "(**(code **)(puVar34 + 0x73134))" ( (pointer_expression "**(code **)(puVar34 + 0x73134)" * (pointer_expression "*(code **)(puVar34 + 0x73134)" * (cast_expression "(code **)(puVar34 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73134)" ( (binary_expression "puVar34 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(ssh->conf,0x20)" ( (field_expression "ssh->conf" identifier -> field_identifier) , number_literal )))) ;) (expression_statement "piVar29[0x2f] = iVar2;" (assignment_expression "piVar29[0x2f] = iVar2" (subscript_expression "piVar29[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5);" (assignment_expression "iVar24 = (**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5)" identifier = (call_expression "(**(code **)(puVar34 + 0x7354c))(iVar2,0,unaff_s5)" (parenthesized_expression "(**(code **)(puVar34 + 0x7354c))" ( (pointer_expression "**(code **)(puVar34 + 0x7354c)" * (pointer_expression "*(code **)(puVar34 + 0x7354c)" * (cast_expression "(code **)(puVar34 + 0x7354c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x7354c)" ( (binary_expression "puVar34 + 0x7354c" identifier + number_literal) ))))) )) (argument_list "(iVar2,0,unaff_s5)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar24 != *(int *)(puVar34 + 0x73550)) {\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }" if (parenthesized_expression "(iVar24 != *(int *)(puVar34 + 0x73550))" ( (binary_expression "iVar24 != *(int *)(puVar34 + 0x73550)" identifier != (pointer_expression "*(int *)(puVar34 + 0x73550)" * (cast_expression "(int *)(puVar34 + 0x73550)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x73550)" ( (binary_expression "puVar34 + 0x73550" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }\n    }" { (labeled_statement "LAB_000402f8:\n      if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }" statement_identifier : (if_statement "if (iVar24 != 0) {\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }" if (parenthesized_expression "(iVar24 != 0)" ( (binary_expression "iVar24 != 0" identifier != number_literal) )) (compound_statement "{\n        pPVar3 = ssh2_pkt_init(0x32);\n        pcVar4 = ssh->username;\n        piVar29[0x2e] = (int)pPVar3;\n        ssh_pkt_addstring(pPVar3,pcVar4);\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));\n        ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));\n        apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);\n                    /* WARNING: Subroutine does not return */\n        ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);\n      }" { (expression_statement "pPVar3 = ssh2_pkt_init(0x32);" (assignment_expression "pPVar3 = ssh2_pkt_init(0x32)" identifier = (call_expression "ssh2_pkt_init(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "pcVar4 = ssh->username;" (assignment_expression "pcVar4 = ssh->username" identifier = (field_expression "ssh->username" identifier -> field_identifier)) ;) (expression_statement "piVar29[0x2e] = (int)pPVar3;" (assignment_expression "piVar29[0x2e] = (int)pPVar3" (subscript_expression "piVar29[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pPVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "ssh_pkt_addstring(pPVar3,pcVar4);" (call_expression "ssh_pkt_addstring(pPVar3,pcVar4)" identifier (argument_list "(pPVar3,pcVar4)" ( identifier , identifier ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x4c34)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098));" (call_expression "ssh_pkt_addstring((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" identifier (argument_list "((Packet *)piVar29[0x2e],(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098))" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x5098)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_);" (assignment_expression "apPStack_90[0] = (Packet *)CONCAT13(1,apPStack_90[0]._1_3_)" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) = (cast_expression "(Packet *)CONCAT13(1,apPStack_90[0]._1_3_)" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT13(1,apPStack_90[0]._1_3_)" identifier (argument_list "(1,apPStack_90[0]._1_3_)" ( number_literal , (field_expression "apPStack_90[0]._1_3_" (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) . field_identifier) ))))) ;) comment (expression_statement "ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1);" (call_expression "ssh_pkt_adddata((Packet *)piVar29[0x2e],unaff_s5,1)" identifier (argument_list "((Packet *)piVar29[0x2e],unaff_s5,1)" ( (cast_expression "(Packet *)piVar29[0x2e]" ( (type_descriptor "Packet *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar29[0x2e]" identifier [ number_literal ])) , identifier , number_literal ))) ;) }))) })) }))) (expression_statement "ssh_01 = (bufchain *)&ssh->frontend;" (assignment_expression "ssh_01 = (bufchain *)&ssh->frontend" identifier = (cast_expression "(bufchain *)&ssh->frontend" ( (type_descriptor "bufchain *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&ssh->frontend" & (field_expression "ssh->frontend" identifier -> field_identifier)))) ;) (expression_statement "c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c);" (call_expression "c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c)" identifier (argument_list "((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0),0x1c)" ( (cast_expression "(Ssh_conflict)ssh_01" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + 0x51f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + 0x51f0)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + 0x51f0" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "unaff_s5 = apPStack_90[0];" (assignment_expression "unaff_s5 = apPStack_90[0]" identifier = (subscript_expression "apPStack_90[0]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0]);" (assignment_expression "iVar2 = (**(code **)(puVar34 + 0x73a54))(apPStack_90[0])" identifier = (call_expression "(**(code **)(puVar34 + 0x73a54))(apPStack_90[0])" (parenthesized_expression "(**(code **)(puVar34 + 0x73a54))" ( (pointer_expression "**(code **)(puVar34 + 0x73a54)" * (pointer_expression "*(code **)(puVar34 + 0x73a54)" * (cast_expression "(code **)(puVar34 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x73a54)" ( (binary_expression "puVar34 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(apPStack_90[0])" ( (subscript_expression "apPStack_90[0]" identifier [ number_literal ]) )))) ;) (expression_statement "c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2);" (call_expression "c_write((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2)" identifier (argument_list "((Ssh_conflict)ssh_01,(char *)unaff_s5,iVar2)" ( (cast_expression "(Ssh_conflict)ssh_01" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)unaff_s5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3);" (call_expression "c_write((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3)" identifier (argument_list "((Ssh_conflict)ssh_01,(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c),3)" ( (cast_expression "(Ssh_conflict)ssh_01" ( (type_descriptor "Ssh_conflict" type_identifier) ) identifier) , (cast_expression "(char *)(*(int *)(puVar34 + 0x72fb4) + -0x116c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x72fb4) + -0x116c)" ( (binary_expression "*(int *)(puVar34 + 0x72fb4) + -0x116c" (pointer_expression "*(int *)(puVar34 + 0x72fb4)" * (cast_expression "(int *)(puVar34 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x72fb4)" ( (binary_expression "puVar34 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) , number_literal ))) ;) (expression_statement "iVar2 = piVar29[3];" (assignment_expression "iVar2 = piVar29[3]" identifier = (subscript_expression "piVar29[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) (labeled_statement "LAB_0003fb80:\n  *piVar29 = 0x25a0;" statement_identifier : (expression_statement "*piVar29 = 0x25a0;" (assignment_expression "*piVar29 = 0x25a0" (pointer_expression "*piVar29" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })))
(translation_unit "void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}\n\n" (function_definition "void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" primitive_type (function_declarator "ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)" identifier (parameter_list "(int *param_1,undefined *param_2,code *****param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "code *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code ****ppppcVar4;" type_identifier (pointer_declarator "****ppppcVar4" * (pointer_declarator "***ppppcVar4" * (pointer_declarator "**ppppcVar4" * (pointer_declarator "*ppppcVar4" * identifier)))) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *****pppppcVar10;" type_identifier (pointer_declarator "*****pppppcVar10" * (pointer_declarator "****pppppcVar10" * (pointer_declarator "***pppppcVar10" * (pointer_declarator "**pppppcVar10" * (pointer_declarator "*pppppcVar10" * identifier))))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "code *****pppppcVar17;" type_identifier (pointer_declarator "*****pppppcVar17" * (pointer_declarator "****pppppcVar17" * (pointer_declarator "***pppppcVar17" * (pointer_declarator "**pppppcVar17" * (pointer_declarator "*pppppcVar17" * identifier))))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "code *****pppppcVar23;" type_identifier (pointer_declarator "*****pppppcVar23" * (pointer_declarator "****pppppcVar23" * (pointer_declarator "***pppppcVar23" * (pointer_declarator "**pppppcVar23" * (pointer_declarator "*pppppcVar23" * identifier))))) ;) (declaration "code *****pppppcVar24;" type_identifier (pointer_declarator "*****pppppcVar24" * (pointer_declarator "****pppppcVar24" * (pointer_declarator "***pppppcVar24" * (pointer_declarator "**pppppcVar24" * (pointer_declarator "*pppppcVar24" * identifier))))) ;) (declaration "code *****unaff_s5;" type_identifier (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier))))) ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 uStack_ac;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined1 auStack_a4 [4];" type_identifier (array_declarator "auStack_a4 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_a0;" primitive_type identifier ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "code ***pppcStack_98;" type_identifier (pointer_declarator "***pppcStack_98" * (pointer_declarator "**pppcStack_98" * (pointer_declarator "*pppcStack_98" * identifier))) ;) (declaration "code ****ppppcStack_94;" type_identifier (pointer_declarator "****ppppcStack_94" * (pointer_declarator "***ppppcStack_94" * (pointer_declarator "**ppppcStack_94" * (pointer_declarator "*ppppcStack_94" * identifier)))) ;) (declaration "code ****ppppcStack_90;" type_identifier (pointer_declarator "****ppppcStack_90" * (pointer_declarator "***ppppcStack_90" * (pointer_declarator "**ppppcStack_90" * (pointer_declarator "*ppppcStack_90" * identifier)))) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "code ***pppcStack_88;" type_identifier (pointer_declarator "***pppcStack_88" * (pointer_declarator "**pppcStack_88" * (pointer_declarator "*pppcStack_88" * identifier))) ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "int iStack_80;" primitive_type identifier ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "code ****ppppcStack_70;" type_identifier (pointer_declarator "****ppppcStack_70" * (pointer_declarator "***ppppcStack_70" * (pointer_declarator "**ppppcStack_70" * (pointer_declarator "*ppppcStack_70" * identifier)))) ;) (declaration "code ****ppppcStack_6c;" type_identifier (pointer_declarator "****ppppcStack_6c" * (pointer_declarator "***ppppcStack_6c" * (pointer_declarator "**ppppcStack_6c" * (pointer_declarator "*ppppcStack_6c" * identifier)))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;" (assignment_expression "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04" identifier = (cast_expression "(code *****)PTR___stack_chk_guard_000b2f04" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar19 = *param_1;" (assignment_expression "iVar19 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_24 = *(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 "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" identifier = identifier) ;) (expression_statement "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);" (call_expression "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" identifier (argument_list "(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ba4" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" identifier = identifier) ;) (if_statement "if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" if (parenthesized_expression "(*(int *)(iVar19 + 0x198) == 1)" ( (binary_expression "*(int *)(iVar19 + 0x198) == 1" (pointer_expression "*(int *)(iVar19 + 0x198)" * (cast_expression "(int *)(iVar19 + 0x198)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x198)" ( (binary_expression "iVar19 + 0x198" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }" { (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" identifier = number_literal) ;) (expression_statement "pppppcVar24 = (code *****)param_1[2];" (assignment_expression "pppppcVar24 = (code *****)param_1[2]" identifier = (cast_expression "(code *****)param_1[2]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "FUN_000494d4(iVar19,0x1d);" (call_expression "FUN_000494d4(iVar19,0x1d)" identifier (argument_list "(iVar19,0x1d)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" else (compound_statement "{\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" { (expression_statement "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);" (assignment_expression "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" identifier = (cast_expression "(int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" identifier (argument_list "(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" ( (binary_expression "param_1 + 2" identifier + number_literal) , (binary_expression "param_1 + 0xd" identifier + number_literal) , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bc8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (code *****)host_strduptrim(param_2);" (assignment_expression "unaff_s5 = (code *****)host_strduptrim(param_2)" identifier = (cast_expression "(code *****)host_strduptrim(param_2)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "host_strduptrim(param_2)" identifier (argument_list "(param_2)" ( identifier ))))) ;) (expression_statement "param_2 = PTR_LAB_000b2894 + -0x4dc4;" (assignment_expression "param_2 = PTR_LAB_000b2894 + -0x4dc4" identifier = (binary_expression "PTR_LAB_000b2894 + -0x4dc4" identifier + number_literal)) ;) (expression_statement "FUN_0003b23c(param_1,unaff_s5);" (call_expression "FUN_0003b23c(param_1,unaff_s5)" identifier (argument_list "(param_1,unaff_s5)" ( identifier , identifier ))) ;) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) (expression_statement "FUN_0003b1cc(param_1,param_3);" (call_expression "FUN_0003b1cc(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);" (call_expression "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" identifier (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" ( identifier , (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bd8" identifier + number_literal) ))) ;) (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "FUN_0003aef4(param_1,&local_28);" (call_expression "FUN_0003aef4(param_1,&local_28)" identifier (argument_list "(param_1,&local_28)" ( identifier , (pointer_expression "&local_28" & identifier) ))) ;) (expression_statement "FUN_000463f8(iVar19,param_1);" (call_expression "FUN_000463f8(iVar19,param_1)" identifier (argument_list "(iVar19,param_1)" ( identifier , identifier ))) ;) }))) (if_statement "if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }" if (parenthesized_expression "((code ****)local_24 == *pppppcVar23)" ( (binary_expression "(code ****)local_24 == *pppppcVar23" (cast_expression "(code ****)local_24" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) == (pointer_expression "*pppppcVar23" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar26 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar26 = 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 "piVar21 = *(int **)(puVar26 + 0x73b10);" (assignment_expression "piVar21 = *(int **)(puVar26 + 0x73b10)" identifier = (pointer_expression "*(int **)(puVar26 + 0x73b10)" * (cast_expression "(int **)(puVar26 + 0x73b10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b10)" ( (binary_expression "puVar26 + 0x73b10" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = *(int **)(iVar11 + 0x1d0);" (assignment_expression "piVar20 = *(int **)(iVar11 + 0x1d0)" identifier = (pointer_expression "*(int **)(iVar11 + 0x1d0)" * (cast_expression "(int **)(iVar11 + 0x1d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1d0)" ( (binary_expression "iVar11 + 0x1d0" identifier + number_literal) ))))) ;) (expression_statement "puStack_74 = (undefined *)pppppcVar23;" (assignment_expression "puStack_74 = (undefined *)pppppcVar23" identifier = (cast_expression "(undefined *)pppppcVar23" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_84 = *piVar21;" (assignment_expression "iStack_84 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iStack_80 = iVar19;" (assignment_expression "iStack_80 = iVar19" identifier = identifier) ;) (expression_statement "piStack_7c = param_1;" (assignment_expression "piStack_7c = param_1" identifier = identifier) ;) (expression_statement "puStack_78 = param_2;" (assignment_expression "puStack_78 = param_2" identifier = identifier) ;) (expression_statement "ppppcStack_70 = (code ****)param_3;" (assignment_expression "ppppcStack_70 = (code ****)param_3" identifier = (cast_expression "(code ****)param_3" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppcStack_6c = (code ****)unaff_s5;" (assignment_expression "ppppcStack_6c = (code ****)unaff_s5" identifier = (cast_expression "(code ****)unaff_s5" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" { (expression_statement "iVar19 = *piVar20;" (assignment_expression "iVar19 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (if_statement "if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" if (parenthesized_expression "(iVar19 == 0x27b6)" ( (binary_expression "iVar19 == 0x27b6" identifier == number_literal) )) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003fae0;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5270" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = (cast_expression "(int)pppcStack_98" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0))" ( (binary_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" (parenthesized_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)))" ( (binary_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" (parenthesized_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6))" ( (binary_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)" (parenthesized_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U))" ( (binary_expression "(code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)" (cast_expression "(code ****)pppcStack_98" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier) != (cast_expression "(code ****)(piVar20[0x32] + 2U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(piVar20[0x32] + 2U)" ( (binary_expression "piVar20[0x32] + 2U" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) + number_literal) )))) )) || (parenthesized_expression "(*(code *)ppppcStack_94 != (code)0x6)" ( (binary_expression "*(code *)ppppcStack_94 != (code)0x6" (pointer_expression "*(code *)ppppcStack_94" * (cast_expression "(code *)ppppcStack_94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (cast_expression "(code)0x6" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) || (parenthesized_expression "(piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" ( (binary_expression "piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) != (cast_expression "(int)(char)*(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)((int)ppppcStack_94 + 1)" * (cast_expression "(code *)((int)ppppcStack_94 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_94 + 1)" ( (binary_expression "(int)ppppcStack_94 + 1" (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))))) ))) )) || (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" ( (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" identifier = (call_expression "(**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" ( (pointer_expression "**(code **)(puVar26 + 0x73af8)" * (pointer_expression "*(code **)(puVar26 + 0x73af8)" * (cast_expression "(code **)(puVar26 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73af8)" ( (binary_expression "puVar26 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" ( (cast_expression "(code *)((int)ppppcStack_94 + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_94 + 2)" ( (binary_expression "(int)ppppcStack_94 + 2" (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5298" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" identifier = (cast_expression "(code *****)(piVar20 + 0x38)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20 + 0x38)" ( (binary_expression "piVar20 + 0x38" identifier + number_literal) )))) ;) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0xc))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0xc)" * (pointer_expression "*(code **)(piVar20[0x30] + 0xc)" * (cast_expression "(code **)(piVar20[0x30] + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0xc)" ( (binary_expression "piVar20[0x30] + 0xc" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar11 + 0x6a4)" * (cast_expression "(undefined4 *)(iVar11 + 0x6a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a4)" ( (binary_expression "iVar11 + 0x6a4" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (if_statement "if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar19 == 3)" ( (binary_expression "iVar19 == 3" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52fc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x1c))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x1c)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x1c)" * (cast_expression "(code **)(piVar20[0x30] + 0x1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x1c)" ( (binary_expression "piVar20[0x30] + 0x1c" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x31)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x31" identifier + number_literal) )))) ;) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) goto LAB_00042b98;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042b98;" goto statement_identifier ;)) (expression_statement "piVar20[0x34] = 0;" (assignment_expression "piVar20[0x34] = 0" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x35] = 0;" (assignment_expression "piVar20[0x35] = 0" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x36] = 0;" (assignment_expression "piVar20[0x36] = 0" (subscript_expression "piVar20[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x37] = 0;" (assignment_expression "piVar20[0x37] = 0" (subscript_expression "piVar20[0x37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" identifier = (cast_expression "(code *****)piVar20[0x30]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0004138c:\n      iVar19 = piVar20[0x38];" statement_identifier : (expression_statement "iVar19 = piVar20[0x38];" (assignment_expression "iVar19 = piVar20[0x38]" identifier = (subscript_expression "piVar20[0x38]" identifier [ number_literal ])) ;)) (expression_statement "unaff_s5 = (code *****)pppppcVar23[5];" (assignment_expression "unaff_s5 = (code *****)pppppcVar23[5]" identifier = (cast_expression "(code *****)pppppcVar23[5]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "pppppcVar23[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x28)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);" (assignment_expression "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" identifier = (call_expression "(*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" (parenthesized_expression "(*(code *)unaff_s5)" ( (pointer_expression "*(code *)unaff_s5" * (cast_expression "(code *)unaff_s5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" ( identifier , (binary_expression "piVar20 + 0x31" identifier + number_literal) , identifier , identifier , (binary_expression "piVar20 + 0x34" identifier + number_literal) , (binary_expression "piVar20 + 0x36" identifier + number_literal) )))) ;) (expression_statement "piVar20[0x39] = uVar8;" (assignment_expression "piVar20[0x39] = uVar8" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" if (parenthesized_expression "(uVar8 < 2)" ( (binary_expression "uVar8 < 2" identifier < number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5374" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" if (parenthesized_expression "(piVar20[0x36] != 0)" ( (binary_expression "piVar20[0x36] != 0" (subscript_expression "piVar20[0x36]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" { (expression_statement "pppppcVar23 = (code *****)FUN_0003b04c(0x3d);" (assignment_expression "pppppcVar23 = (code *****)FUN_0003b04c(0x3d)" identifier = (cast_expression "(code *****)FUN_0003b04c(0x3d)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "FUN_0003b04c(0x3d)" identifier (argument_list "(0x3d)" ( number_literal ))))) ;) (expression_statement "piVar20[0x2e] = (int)pppppcVar23;" (assignment_expression "piVar20[0x2e] = (int)pppppcVar23" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(pppppcVar23,&pppcStack_88,4);" (call_expression "FUN_0003aef4(pppppcVar23,&pppcStack_88,4)" identifier (argument_list "(pppppcVar23,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x36];" (assignment_expression "iVar6 = piVar20[0x36]" identifier = (subscript_expression "piVar20[0x36]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x37];" (assignment_expression "iVar15 = piVar20[0x37]" identifier = (subscript_expression "piVar20[0x37]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[6] = *pppppcVar23;" (assignment_expression "pppppcVar23[6] = *pppppcVar23" (subscript_expression "pppppcVar23[6]" identifier [ number_literal ]) = (pointer_expression "*pppppcVar23" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);" (call_expression "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x18))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x18)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x18)" * (cast_expression "(code **)(piVar20[0x30] + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x18)" ( (binary_expression "piVar20[0x30] + 0x18" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x36)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x36" identifier + number_literal) ))) ;) })) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" { (labeled_statement "LAB_00042310:\n          *piVar20 = 0x2807;" statement_identifier : (expression_statement "*piVar20 = 0x2807;" (assignment_expression "*piVar20 = 0x2807" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" else (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5348" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" identifier = (call_expression "(**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x2c))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x2c)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x2c)" * (cast_expression "(code **)(piVar20[0x30] + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x2c)" ( (binary_expression "piVar20[0x30] + 0x2c" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x31]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) )))) ;) (if_statement "if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x33]);" (call_expression "safefree(piVar20[0x33])" identifier (argument_list "(piVar20[0x33])" ( (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) ))) ;) })) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" statement_identifier : (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)FUN_0003b04c(0);" (assignment_expression "piVar5 = (int *)FUN_0003b04c(0)" identifier = (cast_expression "(int *)FUN_0003b04c(0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b04c(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "piVar20[0x2e] = (int)piVar5;" (assignment_expression "piVar20[0x2e] = (int)piVar5" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(piVar5,&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar5,&pppcStack_88,4)" identifier (argument_list "(piVar5,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0xe4)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar18 = *(int *)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (expression_statement "piVar5[6] = *piVar5;" (assignment_expression "piVar5[6] = *piVar5" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);" (call_expression "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2)" identifier (argument_list "(iVar19,iVar11 + 0xa4,uVar2)" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , identifier ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(0x32,ppppcStack_90._1_3_)" identifier (argument_list "(0x32,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1)" identifier (argument_list "(piVar20[0x2e],&ppppcStack_90,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_90" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e];" (assignment_expression "iVar19 = *(int *)piVar20[0x2e]" identifier = (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) ;) (expression_statement "pcVar27 = *(code **)(piVar20[0x30] + 0x24);" (assignment_expression "pcVar27 = *(code **)(piVar20[0x30] + 0x24)" identifier = (pointer_expression "*(code **)(piVar20[0x30] + 0x24)" * (cast_expression "(code **)(piVar20[0x30] + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x24)" ( (binary_expression "piVar20[0x30] + 0x24" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;" (assignment_expression "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) = (binary_expression "((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ]) + identifier)) ;) (expression_statement "piVar20[0x32] = iVar19 - iVar6;" (assignment_expression "piVar20[0x32] = iVar19 - iVar6" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) = (binary_expression "iVar19 - iVar6" identifier - identifier)) ;) (expression_statement "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);" (call_expression "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x31]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" identifier = (cast_expression "(undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar15 + -0x4fb4))(0x42)" (parenthesized_expression "(*(code *)(iVar15 + -0x4fb4))" ( (pointer_expression "*(code *)(iVar15 + -0x4fb4)" * (cast_expression "(code *)(iVar15 + -0x4fb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -0x4fb4)" ( (binary_expression "iVar15 + -0x4fb4" identifier + number_literal) )))) )) (argument_list "(0x42)" ( number_literal ))))) ;) (expression_statement "piVar20[0x2e] = (int)puVar3;" (assignment_expression "piVar20[0x2e] = (int)puVar3" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);" (call_expression "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90)" (parenthesized_expression "(*(code *)(iVar18 + -0x4edc))" ( (pointer_expression "*(code *)(iVar18 + -0x4edc)" * (cast_expression "(code *)(iVar18 + -0x4edc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -0x4edc)" ( (binary_expression "iVar18 + -0x4edc" identifier + number_literal) )))) )) (argument_list "(iVar19,uStack_8c,ppppcStack_90)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);" (call_expression "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x28))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x28)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x28)" * (cast_expression "(code **)(piVar20[0x30] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x28)" ( (binary_expression "piVar20[0x30] + 0x28" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],&ppppcStack_90)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" identifier = (subscript_expression "piVar20[0x30]" identifier [ number_literal ])) ;) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00040d20;" goto statement_identifier ;) }))) (labeled_statement "LAB_00040d18:\n      iVar19 = piVar20[0x30];" statement_identifier : (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" identifier = (subscript_expression "piVar20[0x30]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" identifier = (cast_expression "(code *****)(piVar20 + 0x38)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20 + 0x38)" ( (binary_expression "piVar20 + 0x38" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);" (call_expression "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38)" (parenthesized_expression "(**(code **)(iVar19 + 0x10))" ( (pointer_expression "**(code **)(iVar19 + 0x10)" * (pointer_expression "*(code **)(iVar19 + 0x10)" * (cast_expression "(code **)(iVar19 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) ))))) )) (argument_list "(iVar19,piVar20 + 0x38)" ( identifier , (binary_expression "piVar20 + 0x38" identifier + number_literal) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);" (call_expression "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x20))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x20)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x20)" * (cast_expression "(code **)(piVar20[0x30] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x20)" ( (binary_expression "piVar20[0x30] + 0x20" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x31)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x31" identifier + number_literal) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" if (parenthesized_expression "(iVar19 < 0x27b7)" ( (binary_expression "iVar19 < 0x27b7" identifier < number_literal) )) (compound_statement "{\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" { (if_statement "if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" if (parenthesized_expression "(iVar19 == 0x2561)" ( (binary_expression "iVar19 == 0x2561" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040ca4;" goto statement_identifier ;) })) (if_statement "if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2561 < iVar19)" ( (binary_expression "0x2561 < iVar19" number_literal < identifier) )) (compound_statement "{\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" if (parenthesized_expression "(iVar19 == 0x2696)" ( (binary_expression "iVar19 == 0x2696" identifier == number_literal) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" { (labeled_statement "LAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);" statement_identifier : (expression_statement "uVar2 = dupprintf(iVar19 + 0x4d34);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x4d34)" identifier = (call_expression "dupprintf(iVar19 + 0x4d34)" identifier (argument_list "(iVar19 + 0x4d34)" ( (binary_expression "iVar19 + 0x4d34" identifier + number_literal) )))) ;)) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (0 < iVar15) goto LAB_00041768;" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (goto_statement "goto LAB_00041768;" goto statement_identifier ;)) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" identifier = (pointer_expression "*(code *****)(iVar11 + 0x254)" * (cast_expression "(code *****)(iVar11 + 0x254)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x254)" ( (binary_expression "iVar11 + 0x254" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x29] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x29] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar11 + 600)" * (cast_expression "(int *)(iVar11 + 600)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 600)" ( (binary_expression "iVar11 + 600" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" else (compound_statement "{\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" { (if_statement "if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" if (parenthesized_expression "(0x2696 < iVar19)" ( (binary_expression "0x2696 < iVar19" number_literal < identifier) )) (compound_statement "{\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" { (if_statement "if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(iVar19 == 0x26df)" ( (binary_expression "iVar19 == 0x26df" identifier == number_literal) )) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041ab0;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] == (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x516c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) == 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) == 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;)) (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" identifier = (binary_expression "iVar11 + 0x110" identifier + number_literal)) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "unaff_s5 = (code *****)piVar20[0x19];" (assignment_expression "unaff_s5 = (code *****)piVar20[0x19]" identifier = (cast_expression "(code *****)piVar20[0x19]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x19]" identifier [ number_literal ]))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(unaff_s5)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar19,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(iVar19,unaff_s5,uVar2)" identifier (argument_list "(iVar19,unaff_s5,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x518c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_00041ae8;" goto statement_identifier ;) })) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 2;" (assignment_expression "piVar20[1] = 2" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2703) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2703)" ( (binary_expression "iVar19 != 0x2703" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" { (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040240;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar19 == 0x25a0)" ( (binary_expression "iVar19 == 0x25a0" identifier == number_literal) )) (compound_statement "{\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" { (if_statement "if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003f828;" goto statement_identifier ;)) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2650) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2650)" ( (binary_expression "iVar19 != 0x2650" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040908;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb5c;" goto statement_identifier ;) })) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) != 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" { (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" identifier = (binary_expression "iVar11 + 0x110" identifier + number_literal)) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);" (call_expression "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27])" identifier (argument_list "(iVar19,piVar20[0x24],piVar20[0x27])" ( identifier , (subscript_expression "piVar20[0x24]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x27]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5108" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" identifier (argument_list "(1,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],unaff_s5,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],unaff_s5,1)" identifier (argument_list "(piVar20[0x2e],unaff_s5,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" identifier = (subscript_expression "piVar20[0x26]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" identifier = (subscript_expression "piVar20[0x23]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4edc)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4edc" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" identifier = (subscript_expression "piVar20[0x22]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" identifier = (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x28] = iVar19;" (assignment_expression "piVar20[0x28] = iVar19" (subscript_expression "piVar20[0x28]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }" if (parenthesized_expression "((uVar8 & 0x80) == 0)" ( (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" ( (binary_expression "uVar8 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar19 = iVar19 + 4;\n          }" { (expression_statement "iVar19 = iVar19 + 4;" (assignment_expression "iVar19 = iVar19 + 4" identifier = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n            piVar20[0x28] = iVar19 + -4;\n          }" else (compound_statement "{\n            piVar20[0x28] = iVar19 + -4;\n          }" { (expression_statement "piVar20[0x28] = iVar19 + -4;" (assignment_expression "piVar20[0x28] = iVar19 + -4" (subscript_expression "piVar20[0x28]" identifier [ number_literal ]) = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) }))) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73014);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73014)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73014)" * (cast_expression "(code **)(puVar26 + 0x73014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73014)" ( (binary_expression "puVar26 + 0x73014" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x25] + 5 + iVar19;" (assignment_expression "iVar19 = piVar20[0x25] + 5 + iVar19" identifier = (binary_expression "piVar20[0x25] + 5 + iVar19" (binary_expression "piVar20[0x25] + 5" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "piVar20[0x2a] = iVar19 + 4;" (assignment_expression "piVar20[0x2a] = iVar19 + 4" (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]) = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) (expression_statement "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);" (assignment_expression "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1)" identifier = (cast_expression "(undefined1 *)(*pcVar27)(iVar19 + 8,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)(iVar19 + 8,1)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 8,1)" ( (binary_expression "iVar19 + 8" identifier + number_literal) , number_literal ))))) ;) (expression_statement "piVar20[0x2c] = (int)puVar7;" (assignment_expression "piVar20[0x2c] = (int)puVar7" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar7 = *(undefined1 *)(piVar20 + 0x2a);" (assignment_expression "*puVar7 = *(undefined1 *)(piVar20 + 0x2a)" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*(undefined1 *)(piVar20 + 0x2a)" * (cast_expression "(undefined1 *)(piVar20 + 0x2a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x2a)" ( (binary_expression "piVar20 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);" (assignment_expression "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a)" (pointer_expression "*(char *)(piVar20[0x2c] + 1)" * (cast_expression "(char *)(piVar20[0x2c] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 1)" ( (binary_expression "piVar20[0x2c] + 1" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x2a)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x2a)" * (cast_expression "(undefined2 *)(piVar20 + 0x2a)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x2a)" ( (binary_expression "piVar20 + 0x2a" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);" (assignment_expression "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8)" (pointer_expression "*(char *)(piVar20[0x2c] + 2)" * (cast_expression "(char *)(piVar20[0x2c] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 2)" ( (binary_expression "piVar20[0x2c] + 2" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x2a] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x2a] >> 8)" ( (binary_expression "(uint)piVar20[0x2a] >> 8" (cast_expression "(uint)piVar20[0x2a]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x2a]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];" (assignment_expression "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a]" (pointer_expression "*(char *)(piVar20[0x2c] + 3)" * (cast_expression "(char *)(piVar20[0x2c] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 3)" ( (binary_expression "piVar20[0x2c] + 3" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x2a]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]))) ;) (expression_statement "piVar20[0x2b] = piVar20[0x2c] + 5;" (assignment_expression "piVar20[0x2b] = piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd;" (assignment_expression "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd" (pointer_expression "*(undefined1 *)(piVar20[0x2c] + 4)" * (cast_expression "(undefined1 *)(piVar20[0x2c] + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2c] + 4)" ( (binary_expression "piVar20[0x2c] + 4" (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);" (assignment_expression "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25)" (pointer_expression "*(undefined1 *)piVar20[0x2b]" * (cast_expression "(undefined1 *)piVar20[0x2b]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]))) = (pointer_expression "*(undefined1 *)(piVar20 + 0x25)" * (cast_expression "(undefined1 *)(piVar20 + 0x25)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x25)" ( (binary_expression "piVar20 + 0x25" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x25)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x25)" * (cast_expression "(undefined2 *)(piVar20 + 0x25)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x25)" ( (binary_expression "piVar20 + 0x25" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x25] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x25] >> 8)" ( (binary_expression "(uint)piVar20[0x25] >> 8" (cast_expression "(uint)piVar20[0x25]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x25]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x25]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x2b] = iVar19 + 4;" (assignment_expression "piVar20[0x2b] = iVar19 + 4" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "iVar19 + 4" identifier + number_literal)) ;) (expression_statement "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);" (call_expression "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 4,piVar20[0x22],piVar20[0x25])" ( (binary_expression "iVar19 + 4" identifier + number_literal) , (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x2b] = iVar19 + piVar20[0x25];" (assignment_expression "piVar20[0x2b] = iVar19 + piVar20[0x25]" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (binary_expression "iVar19 + piVar20[0x25]" identifier + (subscript_expression "piVar20[0x25]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);" (assignment_expression "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28)" (pointer_expression "*(undefined1 *)(iVar19 + piVar20[0x25])" * (cast_expression "(undefined1 *)(iVar19 + piVar20[0x25])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + piVar20[0x25])" ( (binary_expression "iVar19 + piVar20[0x25]" identifier + (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) )))) = (pointer_expression "*(undefined1 *)(piVar20 + 0x28)" * (cast_expression "(undefined1 *)(piVar20 + 0x28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x28)" ( (binary_expression "piVar20 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(piVar20 + 0x28)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(piVar20 + 0x28)" * (cast_expression "(undefined2 *)(piVar20 + 0x28)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x28)" ( (binary_expression "piVar20 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)piVar20[0x28] >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)piVar20[0x28] >> 8)" ( (binary_expression "(uint)piVar20[0x28] >> 8" (cast_expression "(uint)piVar20[0x28]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar20[0x28]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)piVar20[0x28]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x28]" identifier [ number_literal ]))) ;) (expression_statement "iVar15 = piVar20[0x2b];" (assignment_expression "iVar15 = piVar20[0x2b]" identifier = (subscript_expression "piVar20[0x2b]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" identifier = (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iVar15 + 4;" (assignment_expression "iVar19 = iVar15 + 4" identifier = (binary_expression "iVar15 + 4" identifier + number_literal)) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" if (parenthesized_expression "((uVar8 & 0x80) == 0)" ( (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" ( (binary_expression "uVar8 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" { (expression_statement "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*(undefined1 *)(iVar15 + 4)" * (cast_expression "(undefined1 *)(iVar15 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" * (cast_expression "(undefined1 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" * (cast_expression "(char *)(piVar20[0x2b] + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" * (cast_expression "(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" * (cast_expression "(char *)(piVar20[0x2b] + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" * (cast_expression "(char *)(piVar20[0x2b] + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "iVar19 = piVar20[0x2b] + 4;" (assignment_expression "iVar19 = piVar20[0x2b] + 4" identifier = (binary_expression "piVar20[0x2b] + 4" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *(int *)piVar20[0x2e];" (assignment_expression "iVar6 = *(int *)piVar20[0x2e]" identifier = (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) ;) (expression_statement "iVar15 = ((int *)piVar20[0x2e])[4];" (assignment_expression "iVar15 = ((int *)piVar20[0x2e])[4]" identifier = (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);" (call_expression "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19,iVar15 + 5,iVar6 + -5)" ( identifier , (binary_expression "iVar15 + 5" identifier + number_literal) , (binary_expression "iVar6 + -5" identifier + number_literal) ))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73030);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73030)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73030)" * (cast_expression "(code **)(puVar26 + 0x73030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73030)" ( (binary_expression "puVar26 + 0x73030" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);" (assignment_expression "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" identifier = (cast_expression "(undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" ( (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e] + -5" (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e]" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])))) + number_literal) )))) ;) (expression_statement "piVar20[0x2b] = (int)puVar7;" (assignment_expression "piVar20[0x2b] = (int)puVar7" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 1) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 1)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 1)" ( (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 2) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 2)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 2)" ( (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 3) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 3) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 3)" * (cast_expression "(undefined1 *)(piVar20[0x2b] + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2b] + 3)" ( (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" identifier = (call_expression "(*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" ( (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) , (binary_expression "piVar20[0x2a] + 4" (subscript_expression "piVar20[0x2a]" identifier [ number_literal ]) + number_literal) , identifier , (binary_expression "piVar20 + 0x29" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" * (cast_expression "(int *)(iVar11 + 0x6d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6d0)" ( (binary_expression "iVar11 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" { (labeled_statement "LAB_00041768:\n            *piVar20 = 0x2696;" statement_identifier : (expression_statement "*piVar20 = 0x2696;" (assignment_expression "*piVar20 = 0x2696" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) }))) (expression_statement "piVar20[0x2d] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x2d] = (int)ppppcStack_90" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "safefree(piVar20[0x2c]);" (call_expression "safefree(piVar20[0x2c])" identifier (argument_list "(piVar20[0x2c])" ( (subscript_expression "piVar20[0x2c]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[0x2d];" (assignment_expression "iVar19 = piVar20[0x2d]" identifier = (subscript_expression "piVar20[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" { (labeled_statement "LAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" statement_identifier : (if_statement "if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" { (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" identifier = (subscript_expression "piVar20[0x20]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x20] = iVar15 + 1;" (assignment_expression "piVar20[0x20] = iVar15 + 1" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (if_statement "if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;" if (parenthesized_expression "(iVar15 + 1 < piVar20[0x21])" ( (binary_expression "iVar15 + 1 < piVar20[0x21]" (binary_expression "iVar15 + 1" identifier + number_literal) < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;)) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) }))) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" if (parenthesized_expression "((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e'))" ( (binary_expression "(piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')" (parenthesized_expression "(piVar20[0x29] < 9)" ( (binary_expression "piVar20[0x29] < 9" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) < number_literal) )) || (parenthesized_expression "(*(char *)(iVar19 + 4) != '\x0e')" ( (binary_expression "*(char *)(iVar19 + 4) != '\x0e'" (pointer_expression "*(char *)(iVar19 + 4)" * (cast_expression "(char *)(iVar19 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) )))) != (char_literal "'\x0e'" ' escape_sequence ')) ))) )) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" else (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" if (parenthesized_expression "(*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U)" ( (binary_expression "*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U" (pointer_expression "*(uint *)(iVar19 + 5)" * (cast_expression "(uint *)(iVar19 + 5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 5)" ( (binary_expression "iVar19 + 5" identifier + number_literal) )))) <= (binary_expression "piVar20[0x29] - 9U" (subscript_expression "piVar20[0x29]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5118" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" * (cast_expression "(undefined4 *)(iVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) , (binary_expression "piVar20[0x2d] + 9" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) + number_literal) , (pointer_expression "*(undefined4 *)(piVar20[0x2d] + 5)" * (cast_expression "(undefined4 *)(piVar20[0x2d] + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0x2d] + 5)" ( (binary_expression "piVar20[0x2d] + 5" (subscript_expression "piVar20[0x2d]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fb5c;" goto statement_identifier ;) })) }))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(iVar15 + 0x5134)" ( (binary_expression "iVar15 + 0x5134" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" if (parenthesized_expression "(iVar19 == 0x246f)" ( (binary_expression "iVar19 == 0x246f" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00042034;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" ( (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x6" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_000400a0;" goto statement_identifier ;)) (expression_statement "piVar20[2] = 1;" (assignment_expression "piVar20[2] = 1" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe10;" goto statement_identifier ;) })) (if_statement "if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" if (parenthesized_expression "(iVar19 < 0x2470)" ( (binary_expression "iVar19 < 0x2470" identifier < number_literal) )) (compound_statement "{\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != 0) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (goto_statement "goto LAB_0003fd9c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" if (parenthesized_expression "(iVar19 == 0x247a)" ( (binary_expression "iVar19 == 0x247a" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000400f8;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" ( (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x6" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" { (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c44" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fe04;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x24d9) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x24d9)" ( (binary_expression "iVar19 != 0x24d9" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040040;" goto statement_identifier ;) })) (if_statement "if (0 < iVar15) goto LAB_00040ffc;" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (goto_statement "goto LAB_00040ffc;" goto statement_identifier ;)) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" identifier = (pointer_expression "*(code *****)(iVar11 + 0x254)" * (cast_expression "(code *****)(iVar11 + 0x254)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x254)" ( (binary_expression "iVar11 + 0x254" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x1e] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x1e] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x1e]" identifier [ number_literal ]) = (pointer_expression "*(int *)(iVar11 + 600)" * (cast_expression "(int *)(iVar11 + 600)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 600)" ( (binary_expression "iVar11 + 600" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fbf0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" if (parenthesized_expression "(iVar19 == 0x2917)" ( (binary_expression "iVar19 == 0x2917" identifier == number_literal) )) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040220;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (labeled_statement "LAB_00040ef0:\n        iVar19 = piVar20[0x12];" statement_identifier : (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;)) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73a54);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73a54)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) ;) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar2 = (*pcVar27)(iVar19);" (assignment_expression "uVar2 = (*pcVar27)(iVar19)" identifier = (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "safefree(piVar20[0x12]);" (call_expression "safefree(piVar20[0x12])" identifier (argument_list "(piVar20[0x12])" ( (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c00" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" else (compound_statement "{\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" { (if_statement "if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0x2918)" ( (binary_expression "iVar19 < 0x2918" identifier < number_literal) )) (compound_statement "{\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" { (if_statement "if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" if (parenthesized_expression "(iVar19 == 0x28a4)" ( (binary_expression "iVar19 == 0x28a4" identifier == number_literal) )) (compound_statement "{\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" { (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" else (compound_statement "{\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" { (if_statement "if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" if (parenthesized_expression "(iVar19 < 0x28a5)" ( (binary_expression "iVar19 < 0x28a5" identifier < number_literal) )) (compound_statement "{\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }" { (if_statement "if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" if (parenthesized_expression "(iVar19 == 0x2807)" ( (binary_expression "iVar19 == 0x2807" identifier == number_literal) )) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00042310;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3d)" ( (binary_expression "pppppcVar24[2] == (code ****)0x3d" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x3d" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" { (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" identifier = (subscript_expression "piVar20[0x39]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_94" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" identifier [ number_literal ]) = (cast_expression "(int)pppcStack_98" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" { (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" identifier = (cast_expression "(code *****)piVar20[0x30]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0004138c;" goto statement_identifier ;) })) (goto_statement "goto LAB_00041414;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5398" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x39] = 4;" (assignment_expression "piVar20[0x39] = 4" (subscript_expression "piVar20[0x39]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00040d18;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x284b) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x284b)" ( (binary_expression "iVar19 != 0x284b" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0004072c;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 7;" (assignment_expression "piVar20[1] = 7" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xc] = 1;" (assignment_expression "piVar20[0xc] = 1" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" else (compound_statement "{\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" { (if_statement "if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" if (parenthesized_expression "(iVar19 != 0x28ca)" ( (binary_expression "iVar19 != 0x28ca" identifier != number_literal) )) (compound_statement "{\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" { (if_statement "if (iVar19 != 0x28e8) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x28e8)" ( (binary_expression "iVar19 != 0x28e8" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" { (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00040118;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041954;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" { (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003f824;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) }))) (expression_statement "pcVar27 = (code *)(iVar19 + 0x7704);" (assignment_expression "pcVar27 = (code *)(iVar19 + 0x7704)" identifier = (cast_expression "(code *)(iVar19 + 0x7704)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x7704)" ( (binary_expression "iVar19 + 0x7704" identifier + number_literal) )))) ;) (expression_statement "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);" (call_expression "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0)" identifier (argument_list "(pppppcVar24,&uStack_ac,&iStack_a0)" ( identifier , (pointer_expression "&uStack_ac" & identifier) , (pointer_expression "&iStack_a0" & identifier) ))) ;) (expression_statement "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);" (call_expression "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,&uStack_a8,&iStack_9c)" ( identifier , (pointer_expression "&uStack_a8" & identifier) , (pointer_expression "&iStack_9c" & identifier) ))) ;) (expression_statement "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);" (call_expression "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,auStack_a4,&pppcStack_98)" ( identifier , identifier , (pointer_expression "&pppcStack_98" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "piVar20[0x10] = iVar19;" (assignment_expression "piVar20[0x10] = iVar19" (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" { (expression_statement "iVar6 = *(int *)(puVar26 + 0x72fa4);" (assignment_expression "iVar6 = *(int *)(puVar26 + 0x72fa4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fa4)" * (cast_expression "(int *)(puVar26 + 0x72fa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fa4)" ( (binary_expression "puVar26 + 0x72fa4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);" do (compound_statement "{\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            }" { (expression_statement "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);" (call_expression "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pppppcVar24,&ppppcStack_94,unaff_s5)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , identifier ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" identifier = (subscript_expression "pppppcVar24[6]" identifier [ number_literal ])) ;) (if_statement "if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" if (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" ( (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppcVar24" * identifier)) - (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) (compound_statement "{\n                bVar22 = false;\n              }" { (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) }) (else_clause "else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" else (compound_statement "{\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" { (expression_statement "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" identifier = (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" * (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" ( (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar24[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (cast_expression "(code ****)((int)ppppcVar4 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar4 + 1)" ( (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "bVar22 = cVar1 != '\0';" (assignment_expression "bVar22 = cVar1 != '\0'" identifier = (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) }))) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" if (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" { (expression_statement "ppppcStack_90 = (code ****)&DAT_00000020;" (assignment_expression "ppppcStack_90 = (code ****)&DAT_00000020" identifier = (cast_expression "(code ****)&DAT_00000020" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "&DAT_00000020" & identifier))) ;) (expression_statement "ppppcStack_94 = (code ****)(iVar6 + 0x2280);" (assignment_expression "ppppcStack_94 = (code ****)(iVar6 + 0x2280)" identifier = (cast_expression "(code ****)(iVar6 + 0x2280)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar6 + 0x2280)" ( (binary_expression "iVar6 + 0x2280" identifier + number_literal) )))) ;) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = piVar20[0xf];" (assignment_expression "iVar18 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" ( (binary_expression "iVar19 + 0x5428" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);" (call_expression "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(iVar18,uVar2,bVar22)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(iVar15 < piVar20[0x10])" ( (binary_expression "iVar15 < piVar20[0x10]" identifier < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) ;) })) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (if_statement "if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" if (parenthesized_expression "(iStack_a0 == 0)" ( (binary_expression "iStack_a0 == 0" identifier == number_literal) )) (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }" { (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" identifier = (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5430)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5430" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 8)" * (cast_expression "(undefined4 *)(iVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" else (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" { (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" identifier = (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x541c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 8)" * (cast_expression "(undefined4 *)(iVar19 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" if (parenthesized_expression "(piVar20[0x10] == 0 && iStack_a0 == 0)" ( (binary_expression "piVar20[0x10] == 0 && iStack_a0 == 0" (binary_expression "piVar20[0x10] == 0" (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) == number_literal) && (binary_expression "iStack_a0 == 0" identifier == number_literal)) )) (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" { (labeled_statement "LAB_00042638:\n              iVar15 = iVar15 + 0x71dc;" statement_identifier : (expression_statement "iVar15 = iVar15 + 0x71dc;" (assignment_expression "iVar15 = iVar15 + 0x71dc" identifier = (binary_expression "iVar15 + 0x71dc" identifier + number_literal)) ;)) (goto_statement "goto LAB_000422b4;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" * (cast_expression "(undefined4 *)(iVar19 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" else (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iStack_9c != 0) goto LAB_00042638;" if (parenthesized_expression "(iStack_9c != 0)" ( (binary_expression "iStack_9c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00042638;" goto statement_identifier ;)) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" statement_identifier : (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x544c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier , identifier )))) ;)) (expression_statement "*(undefined4 *)(iVar19 + 0xc) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0xc) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0xc)" * (cast_expression "(undefined4 *)(iVar19 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" * (cast_expression "(undefined4 *)(iVar19 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(iVar19,0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,0)" ( identifier , number_literal , number_literal )))) ;) }))) (if_statement "if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" { (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00040b04;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_0003b04c(0x3d);" (assignment_expression "iVar19 = FUN_0003b04c(0x3d)" identifier = (call_expression "FUN_0003b04c(0x3d)" identifier (argument_list "(0x3d)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b1cc(iVar19,piVar20[0x10]);" (call_expression "FUN_0003b1cc(iVar19,piVar20[0x10])" identifier (argument_list "(iVar19,piVar20[0x10])" ( identifier , (subscript_expression "piVar20[0x10]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" if (parenthesized_expression "(0 < piVar20[0x10])" ( (binary_expression "0 < piVar20[0x10]" number_literal < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) (compound_statement "{\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" { (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4dc4" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);" do (compound_statement "{\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          }" { (expression_statement "iVar15 = iVar19 * 4;" (assignment_expression "iVar15 = iVar19 * 4" identifier = (binary_expression "iVar19 * 4" identifier * number_literal)) ;) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" identifier (argument_list "(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" ( (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" * (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + iVar15)" ( (binary_expression "*(int *)(piVar20[0xf] + 0x18) + iVar15" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" * (cast_expression "(int *)(piVar20[0xf] + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) )))) + identifier) )))) + number_literal) )))) ))) ;) }) while (parenthesized_expression "(iVar19 < piVar20[0x10])" ( (binary_expression "iVar19 < piVar20[0x10]" identifier < (subscript_expression "piVar20[0x10]" identifier [ number_literal ])) )) ;) })) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_00041954:\n        *piVar20 = 0x28ca;" statement_identifier : (expression_statement "*piVar20 = 0x28ca;" (assignment_expression "*piVar20 = 0x28ca" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" if (parenthesized_expression "(iVar19 == 0x2a03)" ( (binary_expression "iVar19 == 0x2a03" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" { (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00040660;" goto statement_identifier ;)) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(1 < (int)ppppcVar4 - 0x5bU)" ( (binary_expression "1 < (int)ppppcVar4 - 0x5bU" number_literal < (binary_expression "(int)ppppcVar4 - 0x5bU" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5618" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "iVar15 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar15 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" if (parenthesized_expression "(iVar19 != *(int *)(iVar15 + 8))" ( (binary_expression "iVar19 != *(int *)(iVar15 + 8)" identifier != (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5660)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5660" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" if (parenthesized_expression "(pppppcVar24[2] == (code ****)0x5c)" ( (binary_expression "pppppcVar24[2] == (code ****)0x5c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) == (cast_expression "(code ****)0x5c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" { (expression_statement "uVar2 = FUN_00038814(pppppcVar24);" (assignment_expression "uVar2 = FUN_00038814(pppppcVar24)" identifier = (call_expression "FUN_00038814(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "FUN_0003822c(iVar11,uVar14);" (call_expression "FUN_0003822c(iVar11,uVar14)" identifier (argument_list "(iVar11,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00041054;" goto statement_identifier ;) })) (expression_statement "uVar2 = FUN_00036be8(pppppcVar24);" (assignment_expression "uVar2 = FUN_00036be8(pppppcVar24)" identifier = (call_expression "FUN_00036be8(pppppcVar24)" identifier (argument_list "(pppppcVar24)" ( identifier )))) ;) (expression_statement "iVar6 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar6 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 4) = uVar2;" (assignment_expression "*(undefined4 *)(iVar15 + 4) = uVar2" (pointer_expression "*(undefined4 *)(iVar15 + 4)" * (cast_expression "(undefined4 *)(iVar15 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" identifier = (call_expression "FUN_00036be8()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar19 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x128)" identifier = (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x2c) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x2c) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x2c)" * (cast_expression "(undefined4 *)(iVar6 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2c)" ( (binary_expression "iVar6 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" identifier = (call_expression "FUN_00036be8()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7348c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7348c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7348c)" * (cast_expression "(code **)(puVar26 + 0x7348c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7348c)" ( (binary_expression "puVar26 + 0x7348c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x30) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0x30) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0x30)" * (cast_expression "(undefined4 *)(iVar19 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x30)" ( (binary_expression "iVar19 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar27)(uVar14);" (call_expression "(*pcVar27)(uVar14)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar14)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ff14;" goto statement_identifier ;) })) (if_statement "if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" if (parenthesized_expression "(0x2a03 < iVar19)" ( (binary_expression "0x2a03 < iVar19" number_literal < identifier) )) (compound_statement "{\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" { (if_statement "if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" if (parenthesized_expression "(iVar19 != 0x2a90)" ( (binary_expression "iVar19 != 0x2a90" identifier != number_literal) )) (compound_statement "{\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" { (if_statement "if (iVar19 != 0x2abd) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2abd)" ( (binary_expression "iVar19 != 0x2abd" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" { (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5808" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;" if (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;)) (expression_statement "FUN_00048f30();" (call_expression "FUN_00048f30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0003f7c4;" goto statement_identifier ;) })) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_00041870;" goto statement_identifier ;)) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x63)" ( (binary_expression "ppppcVar4 == (code ****)0x63" identifier == (cast_expression "(code ****)0x63" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_0003ffec;" goto statement_identifier ;) })) (if_statement "if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" if (parenthesized_expression "(ppppcVar4 != (code ****)0x64)" ( (binary_expression "ppppcVar4 != (code ****)0x64" identifier != (cast_expression "(code ****)0x64" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x575c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040078;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" if (parenthesized_expression "((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'))" ( (binary_expression "(*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" * (cast_expression "(int *)(iVar11 + 0x174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" ( (comma_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x15)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) , (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x579c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x174) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x174) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x174)" * (cast_expression "(undefined4 *)(iVar11 + 0x174)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0004261c;" goto statement_identifier ;) })) (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00040050;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" if (parenthesized_expression "(iVar19 == 0x2956)" ( (binary_expression "iVar19 == 0x2956" identifier == number_literal) )) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" { (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" if (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" ( (binary_expression "pppppcVar24 != (code *****)0x0" identifier != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" { (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0003f648;" goto statement_identifier ;) })) (if_statement "if (iVar19 != 0x2999) goto LAB_0003fd38;" if (parenthesized_expression "(iVar19 != 0x2999)" ( (binary_expression "iVar19 != 0x2999" identifier != number_literal) )) (goto_statement "goto LAB_0003fd38;" goto statement_identifier ;)) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;" if (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" ( (binary_expression "pppppcVar24 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_0003f784;" goto statement_identifier ;)) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;" if (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" ( (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" identifier [ number_literal ]) != (cast_expression "(code ****)0x3c" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_00040ef0;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4be0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2)" identifier (argument_list "(iVar11 + 0x110,iVar19,uVar2)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppcVar17 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar17 = (code *****)ppppcStack_94" identifier = (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" if (parenthesized_expression "((code *****)ppppcStack_94 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_94 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" { (expression_statement "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);" (assignment_expression "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;" (assignment_expression "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" identifier = (cast_expression "(code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5428" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23[3] = ppppcVar4;" (assignment_expression "pppppcVar23[3] = ppppcVar4" (subscript_expression "pppppcVar23[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar15 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar15 + 0x10)" * (cast_expression "(undefined4 *)(iVar15 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = dupstr(iVar19 + 0x54b8);" (assignment_expression "uVar2 = dupstr(iVar19 + 0x54b8)" identifier = (call_expression "dupstr(iVar19 + 0x54b8)" identifier (argument_list "(iVar19 + 0x54b8)" ( (binary_expression "iVar19 + 0x54b8" identifier + number_literal) )))) ;) (expression_statement "add_prompt(iVar15,uVar2,0);" (call_expression "add_prompt(iVar15,uVar2,0)" identifier (argument_list "(iVar15,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54f4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" identifier (argument_list "(iVar19,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x550c)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x550c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" identifier (argument_list "(iVar19,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (while_statement "while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" ( (pointer_expression "**(code **)(puVar26 + 0x7306c)" * (pointer_expression "*(code **)(puVar26 + 0x7306c)" * (cast_expression "(code **)(puVar26 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7306c)" ( (binary_expression "puVar26 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "iVar15 = piVar20[0x12];" (assignment_expression "iVar15 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x72fdc);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x72fdc)" identifier = (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00040b08;" goto statement_identifier ;) })) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" if (parenthesized_expression "(**(char **)(*piVar5 + 8) != '\0')" ( (binary_expression "**(char **)(*piVar5 + 8) != '\0'" (pointer_expression "**(char **)(*piVar5 + 8)" * (pointer_expression "*(char **)(*piVar5 + 8)" * (cast_expression "(char **)(*piVar5 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" { (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" identifier = (subscript_expression "piVar20[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" ( (pointer_expression "**(code **)(puVar26 + 0x7306c)" * (pointer_expression "*(code **)(puVar26 + 0x7306c)" * (cast_expression "(code **)(puVar26 + 0x7306c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7306c)" ( (binary_expression "puVar26 + 0x7306c" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12])" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x12])" ( (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" identifier = (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b4c))" ( (pointer_expression "**(code **)(puVar26 + 0x73b4c)" * (pointer_expression "*(code **)(puVar26 + 0x73b4c)" * (cast_expression "(code **)(puVar26 + 0x73b4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b4c)" ( (binary_expression "puVar26 + 0x73b4c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" ( (pointer_expression "*(undefined4 *)(piVar5[1] + 8)" * (cast_expression "(undefined4 *)(piVar5[1] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[1] + 8)" ( (binary_expression "piVar5[1] + 8" (subscript_expression "piVar5[1]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar5[2] + 8)" * (cast_expression "(undefined4 *)(piVar5[2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[2] + 8)" ( (binary_expression "piVar5[2] + 8" (subscript_expression "piVar5[2]" identifier [ number_literal ]) + number_literal) )))) )))) ;) (if_statement "if (iVar19 == 0) break;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5524" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13(1,pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13(1,pppcStack_98._1_3_)" identifier (argument_list "(1,pppcStack_98._1_3_)" ( number_literal , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" identifier (argument_list "(piVar20[0x2e],piVar20[0x12])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" ( (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" * (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + 4)" ( (binary_expression "*(int *)(piVar20[0xf] + 0x18) + 4" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" * (cast_expression "(int *)(piVar20[0xf] + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "free_prompts(piVar20[0xf]);" (call_expression "free_prompts(piVar20[0xf])" identifier (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5540" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0003f784:\n    *piVar20 = 0x2999;" statement_identifier : (expression_statement "*piVar20 = 0x2999;" (assignment_expression "*piVar20 = 0x2999" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar20 = (int *)safemalloc(1,0xe8);" (assignment_expression "piVar20 = (int *)safemalloc(1,0xe8)" identifier = (cast_expression "(int *)safemalloc(1,0xe8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0xe8)" identifier (argument_list "(1,0xe8)" ( number_literal , number_literal ))))) ;) (expression_statement "*(int **)(iVar11 + 0x1d0) = piVar20;" (assignment_expression "*(int **)(iVar11 + 0x1d0) = piVar20" (pointer_expression "*(int **)(iVar11 + 0x1d0)" * (cast_expression "(int **)(iVar11 + 0x1d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x1d0)" ( (binary_expression "iVar11 + 0x1d0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" identifier = identifier) ;) (labeled_statement "LAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);" statement_identifier : (expression_statement "iVar19 = *(int *)(iVar11 + 0xec);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0xec)" identifier = (pointer_expression "*(int *)(iVar11 + 0xec)" * (cast_expression "(int *)(iVar11 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xec)" ( (binary_expression "iVar11 + 0xec" identifier + number_literal) ))))) ;)) (expression_statement "iVar15 = iVar15 + 0xae0;" (assignment_expression "iVar15 = iVar15 + 0xae0" identifier = (binary_expression "iVar15 + 0xae0" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x288) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x288) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x288)" * (cast_expression "(int *)(iVar11 + 0x288)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x288)" ( (binary_expression "iVar11 + 0x288" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x338) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x338) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x338)" * (cast_expression "(int *)(iVar11 + 0x338)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x338)" ( (binary_expression "iVar11 + 0x338" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x33c) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x33c) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x33c)" * (cast_expression "(int *)(iVar11 + 0x33c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x33c)" ( (binary_expression "iVar11 + 0x33c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x340) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x340) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x340)" * (cast_expression "(int *)(iVar11 + 0x340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x340)" ( (binary_expression "iVar11 + 0x340" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x344) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x344) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x344)" * (cast_expression "(int *)(iVar11 + 0x344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x360) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x360) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x360)" * (cast_expression "(int *)(iVar11 + 0x360)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x360)" ( (binary_expression "iVar11 + 0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x364) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x364) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x364)" * (cast_expression "(int *)(iVar11 + 0x364)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x364)" ( (binary_expression "iVar11 + 0x364" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b0)" * (cast_expression "(int *)(iVar11 + 0x3b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b0)" ( (binary_expression "iVar11 + 0x3b0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b4)" * (cast_expression "(int *)(iVar11 + 0x3b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b4)" ( (binary_expression "iVar11 + 0x3b4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3b8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b8)" * (cast_expression "(int *)(iVar11 + 0x3b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b8)" ( (binary_expression "iVar11 + 0x3b8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3d8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3d8)" * (cast_expression "(int *)(iVar11 + 0x3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3d8)" ( (binary_expression "iVar11 + 0x3d8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3dc) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3dc)" * (cast_expression "(int *)(iVar11 + 0x3dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3dc)" ( (binary_expression "iVar11 + 0x3dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3e0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e0)" * (cast_expression "(int *)(iVar11 + 0x3e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e0)" ( (binary_expression "iVar11 + 0x3e0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3e4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e4)" * (cast_expression "(int *)(iVar11 + 0x3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e4)" ( (binary_expression "iVar11 + 0x3e4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 1000) = iVar15;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15" (pointer_expression "*(int *)(iVar11 + 1000)" * (cast_expression "(int *)(iVar11 + 1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1000)" ( (binary_expression "iVar11 + 1000" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3ec)" * (cast_expression "(int *)(iVar11 + 0x3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3ec)" ( (binary_expression "iVar11 + 0x3ec" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f0)" * (cast_expression "(int *)(iVar11 + 0x3f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f0)" ( (binary_expression "iVar11 + 0x3f0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x3f4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f4)" * (cast_expression "(int *)(iVar11 + 0x3f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f4)" ( (binary_expression "iVar11 + 0x3f4" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar20[2] = 0;" (assignment_expression "piVar20[2] = 0" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xe] = 0;" (assignment_expression "piVar20[0xe] = 0" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xb] = 0;" (assignment_expression "piVar20[0xb] = 0" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x23)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" identifier = (call_expression "FUN_0003b04c(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c24" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_00042034:\n      *piVar20 = 0x246f;" statement_identifier : (expression_statement "*piVar20 = 0x246f;" (assignment_expression "*piVar20 = 0x246f" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar20[2] == 0)" ( (binary_expression "piVar20[2] == 0" (subscript_expression "piVar20[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" identifier = (call_expression "FUN_0003b04c(5)" identifier (argument_list "(5)" ( number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_000400f8:\n      *piVar20 = 0x247a;" statement_identifier : (expression_statement "*piVar20 = 0x247a;" (assignment_expression "*piVar20 = 0x247a" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) }) (else_clause "else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" else (compound_statement "{\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" { (labeled_statement "LAB_0003fe04:\n    piVar20[0xd] = 1;" statement_identifier : (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);" statement_identifier : (expression_statement "bufchain_init(iVar11 + 0x178);" (call_expression "bufchain_init(iVar11 + 0x178)" identifier (argument_list "(iVar11 + 0x178)" ( (binary_expression "iVar11 + 0x178" identifier + number_literal) ))) ;)) (expression_statement "iVar19 = piVar20[0xd];" (assignment_expression "iVar19 = piVar20[0xd]" identifier = (subscript_expression "piVar20[0xd]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;" (assignment_expression "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(iVar11 + 0x344)" * (cast_expression "(int *)(iVar11 + 0x344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" { (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73554);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73554)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73554)" * (cast_expression "(code **)(puVar26 + 0x73554)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73554)" ( (binary_expression "puVar26 + 0x73554" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar27)(iVar19);" (assignment_expression "iVar19 = (*pcVar27)(iVar19)" identifier = (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier )))) ;) (if_statement "if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73564))" ( (pointer_expression "**(code **)(puVar26 + 0x73564)" * (pointer_expression "*(code **)(puVar26 + 0x73564)" * (cast_expression "(code **)(puVar26 + 0x73564)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73564)" ( (binary_expression "puVar26 + 0x73564" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" if (parenthesized_expression "(iVar19 == 3)" ( (binary_expression "iVar19 == 3" identifier == number_literal) )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" ( (pointer_expression "**(code **)(puVar26 + 0x7356c)" * (pointer_expression "*(code **)(puVar26 + 0x7356c)" * (cast_expression "(code **)(puVar26 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7356c)" ( (binary_expression "puVar26 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x18" identifier + number_literal) , (binary_expression "piVar20 + 0x15" identifier + number_literal) , (binary_expression "piVar20 + 0x19" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) )))) ;) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 == 0) goto LAB_000424c4;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000424c4;" goto statement_identifier ;)) (expression_statement "piVar20[0x16] = 1;" (assignment_expression "piVar20[0x16] = 1" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" statement_identifier : (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73574))" ( (pointer_expression "**(code **)(puVar26 + 0x73574)" * (pointer_expression "*(code **)(puVar26 + 0x73574)" * (cast_expression "(code **)(puVar26 + 0x73574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73574)" ( (binary_expression "puVar26 + 0x73574" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],0)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , number_literal )))) ;)) (expression_statement "piVar20[0x17] = iVar19;" (assignment_expression "piVar20[0x17] = iVar19" (subscript_expression "piVar20[0x17]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" else (if_statement "if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" if (parenthesized_expression "(iVar19 - 9U < 2)" ( (binary_expression "iVar19 - 9U < 2" (binary_expression "iVar19 - 9U" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" ( (pointer_expression "**(code **)(puVar26 + 0x7356c)" * (pointer_expression "*(code **)(puVar26 + 0x7356c)" * (cast_expression "(code **)(puVar26 + 0x7356c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7356c)" ( (binary_expression "puVar26 + 0x7356c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x18" identifier + number_literal) , (binary_expression "piVar20 + 0x15" identifier + number_literal) , (binary_expression "piVar20 + 0x19" identifier + number_literal) , (pointer_expression "&ppppcStack_90" & identifier) )))) ;) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x16] = 0;" (assignment_expression "piVar20[0x16] = 0" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x582c);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x582c)" identifier (argument_list "(iVar11,iVar19 + 0x582c)" ( identifier , (binary_expression "iVar19 + 0x582c" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004292c;" goto statement_identifier ;) })) (labeled_statement "LAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" statement_identifier : (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c80" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c98" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) }) (else_clause "else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" else (compound_statement "{\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" ( (pointer_expression "**(code **)(puVar26 + 0x73568)" * (pointer_expression "*(code **)(puVar26 + 0x73568)" * (cast_expression "(code **)(puVar26 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73568)" ( (binary_expression "puVar26 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4cc0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" identifier = (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" ( (pointer_expression "**(code **)(puVar26 + 0x73124)" * (pointer_expression "*(code **)(puVar26 + 0x73124)" * (cast_expression "(code **)(puVar26 + 0x73124)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73124)" ( (binary_expression "puVar26 + 0x73124" identifier + number_literal) ))))) )) (argument_list "(piVar20[0x2f])" ( (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" ( (pointer_expression "**(code **)(puVar26 + 0x73568)" * (pointer_expression "*(code **)(puVar26 + 0x73568)" * (cast_expression "(code **)(puVar26 + 0x73568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73568)" ( (binary_expression "puVar26 + 0x73568" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ce4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) = number_literal) ;) }))))) })) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1f] = 0;" (assignment_expression "piVar20[0x1f] = 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x1c);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x1c)" identifier = (call_expression "(*pcVar27)(uVar2,0x1c)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x1c)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;" if (parenthesized_expression "((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))" ( (binary_expression "(iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" ( (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73524))()" identifier = (call_expression "(**(code **)(puVar26 + 0x73524))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73524))" ( (pointer_expression "**(code **)(puVar26 + 0x73524)" * (pointer_expression "*(code **)(puVar26 + 0x73524)" * (cast_expression "(code **)(puVar26 + 0x73524)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73524)" ( (binary_expression "puVar26 + 0x73524" identifier + number_literal) ))))) )) (argument_list "()" ( )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d0c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x1a] = 1;" (assignment_expression "piVar20[0x1a] = 1" (subscript_expression "piVar20[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar20 + 0x1b) = 0xb;" (assignment_expression "*(undefined1 *)(piVar20 + 0x1b) = 0xb" (pointer_expression "*(undefined1 *)(piVar20 + 0x1b)" * (cast_expression "(undefined1 *)(piVar20 + 0x1b)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 0x1b)" ( (binary_expression "piVar20 + 0x1b" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" identifier = (call_expression "(**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(**(code **)(puVar26 + 0x73030))" ( (pointer_expression "**(code **)(puVar26 + 0x73030)" * (pointer_expression "*(code **)(puVar26 + 0x73030)" * (cast_expression "(code **)(puVar26 + 0x73030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73030)" ( (binary_expression "puVar26 + 0x73030" identifier + number_literal) ))))) )) (argument_list "(piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" ( (binary_expression "piVar20 + 0x1a" identifier + number_literal) , number_literal , (pointer_expression "&ppppcStack_90" & identifier) , (binary_expression "piVar20 + 0x1e" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" * (cast_expression "(int *)(iVar11 + 0x6d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6d0)" ( (binary_expression "iVar11 + 0x6d0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" { (labeled_statement "LAB_00040ffc:\n    *piVar20 = 0x24d9;" statement_identifier : (expression_statement "*piVar20 = 0x24d9;" (assignment_expression "*piVar20 = 0x24d9" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (labeled_statement "LAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;" statement_identifier : (expression_statement "pppppcVar24 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "piVar20[0x1c] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x1c] = (int)ppppcStack_90" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) = (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" if (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" ( (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }" { (labeled_statement "LAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" else (compound_statement "{\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" if (parenthesized_expression "(4 < piVar20[0x1e])" ( (binary_expression "4 < piVar20[0x1e]" number_literal < (subscript_expression "piVar20[0x1e]" identifier [ number_literal ])) )) (compound_statement "{\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" { (if_statement "if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" if (parenthesized_expression "(*(code *)(ppppcStack_90 + 1) == (code)0xc)" ( (binary_expression "*(code *)(ppppcStack_90 + 1) == (code)0xc" (pointer_expression "*(code *)(ppppcStack_90 + 1)" * (cast_expression "(code *)(ppppcStack_90 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppcStack_90 + 1)" ( (binary_expression "ppppcStack_90 + 1" identifier + number_literal) )))) == (cast_expression "(code)0xc" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)ppppcStack_90 + 5))" ( (pointer_expression "*(undefined4 *)((int)ppppcStack_90 + 5)" * (cast_expression "(undefined4 *)((int)ppppcStack_90 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppcStack_90 + 5)" ( (binary_expression "(int)ppppcStack_90 + 5" (cast_expression "(int)ppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "piVar20[0x21] = iVar19;" (assignment_expression "piVar20[0x21] = iVar19" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }" { (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" else (compound_statement "{\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" { (expression_statement "pppppcVar24 = (code *****)((int)pppppcVar24 + 9);" (assignment_expression "pppppcVar24 = (code *****)((int)pppppcVar24 + 9)" identifier = (cast_expression "(code *****)((int)pppppcVar24 + 9)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar24 + 9)" ( (binary_expression "(int)pppppcVar24 + 9" (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)(piVar20[0x1e] + -9);" (assignment_expression "pppppcVar23 = (code *****)(piVar20[0x1e] + -9)" identifier = (cast_expression "(code *****)(piVar20[0x1e] + -9)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(piVar20[0x1e] + -9)" ( (binary_expression "piVar20[0x1e] + -9" (subscript_expression "piVar20[0x1e]" identifier [ number_literal ]) + number_literal) )))) ;) (if_statement "if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }" { (labeled_statement "LAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" ( (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4dc8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" if (parenthesized_expression "(piVar20[0x14] != 0)" ( (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" { (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" if (parenthesized_expression "(0 < piVar20[0x21])" ( (binary_expression "0 < piVar20[0x21]" number_literal < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) (compound_statement "{\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" { (do_statement "do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);" do (compound_statement "{\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24)" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar24)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*pppppcVar24)" ( (pointer_expression "*pppppcVar24" * identifier) )))) ;) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" if (parenthesized_expression "((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0))" ( (binary_expression "(iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" (parenthesized_expression "(iVar19 == piVar20[0x15])" ( (binary_expression "iVar19 == piVar20[0x15]" identifier == (subscript_expression "piVar20[0x15]" identifier [ number_literal ])) )) && (parenthesized_expression "(iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" ( (comma_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" ( (pointer_expression "**(code **)(puVar26 + 0x73af8)" * (pointer_expression "*(code **)(puVar26 + 0x73af8)" * (cast_expression "(code **)(puVar26 + 0x73af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73af8)" ( (binary_expression "puVar26 + 0x73af8" identifier + number_literal) ))))) )) (argument_list "(pppppcVar24 + 1,piVar20[0x14],iVar19)" ( (binary_expression "pppppcVar24 + 1" identifier + number_literal) , (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" { (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4de4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "piVar20[0x20] = (int)unaff_s5;" (assignment_expression "piVar20[0x20] = (int)unaff_s5" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar20[0x1f] = (int)pppppcVar24;" (assignment_expression "piVar20[0x1f] = (int)pppppcVar24" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) = (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" identifier = (cast_expression "(code *****)((int)unaff_s5 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);" (assignment_expression "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4)" identifier = (cast_expression "(code *)((int)pppppcVar24 + iVar19 + 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24 + iVar19 + 4)" ( (binary_expression "(int)pppppcVar24 + iVar19 + 4" (binary_expression "(int)pppppcVar24 + iVar19" (cast_expression "(int)pppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pcVar27)" ( (pointer_expression "*(undefined4 *)pcVar27" * (cast_expression "(undefined4 *)pcVar27" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);" (assignment_expression "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4)" identifier = (cast_expression "(code *****)(pcVar27 + iVar19 + 4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(pcVar27 + iVar19 + 4)" ( (binary_expression "pcVar27 + iVar19 + 4" (binary_expression "pcVar27 + iVar19" identifier + identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((int)unaff_s5 < piVar20[0x21])" ( (binary_expression "(int)unaff_s5 < piVar20[0x21]" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) < (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) )) ;) })) (if_statement "if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) })) })) }) (else_clause "else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" else (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" if (parenthesized_expression "(3 < (int)pppppcVar23)" ( (binary_expression "3 < (int)pppppcVar23" number_literal < (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" { (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" identifier = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppcVar17 = pppppcVar24;" (assignment_expression "pppppcVar17 = pppppcVar24" identifier = identifier) ;) (do_statement "do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);" do (compound_statement "{\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              }" { (expression_statement "pppppcVar23 = pppppcVar23 + -1;" (assignment_expression "pppppcVar23 = pppppcVar23 + -1" identifier = (binary_expression "pppppcVar23 + -1" identifier + number_literal)) ;) (expression_statement "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);" (assignment_expression "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" identifier = (cast_expression "(code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*pppppcVar17)" ( (pointer_expression "*pppppcVar17" * identifier) ))))) ;) (if_statement "if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" if (parenthesized_expression "(pppppcVar23 < pppppcVar10)" ( (binary_expression "pppppcVar23 < pppppcVar10" identifier < identifier) )) (compound_statement "{\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" { (labeled_statement "LAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) (break_statement "break;" break ;) })) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" identifier = (cast_expression "(code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar23 + (-4 - (int)pppppcVar10))" ( (binary_expression "(int)pppppcVar23 + (-4 - (int)pppppcVar10)" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-4 - (int)pppppcVar10)" ( (binary_expression "-4 - (int)pppppcVar10" number_literal - (cast_expression "(int)pppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" ( (pointer_expression "*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" * (cast_expression "(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pppppcVar10 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppcVar10 + 1)" ( (binary_expression "pppppcVar10 + 1" identifier + number_literal) )))) )))) )))) ;) (if_statement "if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;" if (parenthesized_expression "((iVar15 < 0) || ((int)pppppcVar23 < iVar15))" ( (binary_expression "(iVar15 < 0) || ((int)pppppcVar23 < iVar15)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "((int)pppppcVar23 < iVar15)" ( (binary_expression "(int)pppppcVar23 < iVar15" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (goto_statement "goto LAB_00042a68;" goto statement_identifier ;)) (expression_statement "iVar19 = piVar20[0x21];" (assignment_expression "iVar19 = piVar20[0x21]" identifier = (subscript_expression "piVar20[0x21]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" identifier = (cast_expression "(code *****)((int)unaff_s5 + 1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15)" identifier = (cast_expression "(code *****)((int)pppppcVar23 - iVar15)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppcVar23 - iVar15)" ( (binary_expression "(int)pppppcVar23 - iVar15" (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);" (assignment_expression "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" identifier = (cast_expression "(code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" ( (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4" (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15" (cast_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" ( (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(pppppcVar10 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pppppcVar10 + 1)" ( (binary_expression "pppppcVar10 + 1" identifier + number_literal) )))) ))) + identifier) + number_literal) )))) ;) (if_statement "if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;" if (parenthesized_expression "(iVar19 <= (int)unaff_s5)" ( (binary_expression "iVar19 <= (int)unaff_s5" identifier <= (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00042c08;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(3 < (int)pppppcVar23)" ( (binary_expression "3 < (int)pppppcVar23" number_literal < (cast_expression "(int)pppppcVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x4da8);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x4da8)" identifier (argument_list "(iVar11,iVar19 + 0x4da8)" ( identifier , (binary_expression "iVar19 + 0x4da8" identifier + number_literal) ))) ;) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) = number_literal) ;) }))) }))) (goto_statement "goto LAB_0003fc30;" goto statement_identifier ;) })) (goto_statement "goto LAB_0003fc18;" goto statement_identifier ;) })) }))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "iVar19 + 0x4e34" identifier + number_literal) ))) ;) (labeled_statement "LAB_0003fc30:\n  piVar20[0x13] = 0;" statement_identifier : (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;)) (if_statement "if (piVar20[0xd] != 0) goto LAB_0003fe38;" if (parenthesized_expression "(piVar20[0xd] != 0)" ( (binary_expression "piVar20[0xd] != 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0003fe38;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);" statement_identifier : (expression_statement "iVar19 = get_remote_username(uVar2);" (assignment_expression "iVar19 = get_remote_username(uVar2)" identifier = (call_expression "get_remote_username(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;)) (expression_statement "*(int *)(iVar11 + 0x250) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x250) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x250)" * (cast_expression "(int *)(iVar11 + 0x250)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e58" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,uVar2,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" statement_identifier : (if_statement "if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (if_statement "if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" { (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00040b30;" goto statement_identifier ;) })) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" ( (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" * (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" * (cast_expression "(int **)(piVar20[0xf] + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0xf] + 0x18)" ( (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x250) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x250) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) )))) = identifier) ;) (expression_statement "(*pcVar27)(iVar19);" (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19)" ( identifier ))) ;) }) (else_clause "else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" else (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" if (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 5) != 0)" ( (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 5) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 5)" ( (binary_expression "**(uint **)(puVar26 + 0x730a8) & 5" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" * (pointer_expression "*(uint **)(puVar26 + 0x730a8)" * (cast_expression "(uint **)(puVar26 + 0x730a8)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e8c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" identifier (argument_list "(iVar11 + 0x110,uVar2,uVar14)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" ( (pointer_expression "**(code **)(puVar26 + 0x72fdc)" * (pointer_expression "*(code **)(puVar26 + 0x72fdc)" * (cast_expression "(code **)(puVar26 + 0x72fdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x72fdc)" ( (binary_expression "puVar26 + 0x72fdc" identifier + number_literal) ))))) )) (argument_list "(uVar2)" ( identifier ))) ;) })))) (labeled_statement "LAB_0003fc6c:\n  piVar20[0x13] = 1;" statement_identifier : (expression_statement "piVar20[0x13] = 1;" (assignment_expression "piVar20[0x13] = 1" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ea4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 0;" (assignment_expression "piVar20[1] = 0" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[8] = 0;" (assignment_expression "piVar20[8] = 0" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xc] = 0;" (assignment_expression "piVar20[0xc] = 0" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[9] = 0;" (assignment_expression "piVar20[9] = 0" (subscript_expression "piVar20[9]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar20[0x1c] == 0) goto LAB_0003fb80;" if (parenthesized_expression "(piVar20[0x1c] == 0)" ( (binary_expression "piVar20[0x1c] == 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (if_statement "if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" if (parenthesized_expression "(piVar20[0x1f] == 0)" ( (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }" { (expression_statement "piVar20[0x20] = 0;" (assignment_expression "piVar20[0x20] = 0" (subscript_expression "piVar20[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0x1d] = piVar20[0x1c] + 9;" (assignment_expression "piVar20[0x1d] = piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" else (compound_statement "{\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" { (expression_statement "piVar20[0x1d] = piVar20[0x1f];" (assignment_expression "piVar20[0x1d] = piVar20[0x1f]" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (subscript_expression "piVar20[0x1f]" identifier [ number_literal ])) ;) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }" statement_identifier : (if_statement "if (iStack_84 == *piVar21) {\n    return;\n  }" if (parenthesized_expression "(iStack_84 == *piVar21)" ( (binary_expression "iStack_84 == *piVar21" identifier == (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73ae4))();" (call_expression "(**(code **)(puVar26 + 0x73ae4))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73ae4))" ( (pointer_expression "**(code **)(puVar26 + 0x73ae4)" * (pointer_expression "*(code **)(puVar26 + 0x73ae4)" * (cast_expression "(code **)(puVar26 + 0x73ae4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73ae4)" ( (binary_expression "puVar26 + 0x73ae4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5318" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);" (call_expression "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x10))" ( (pointer_expression "**(code **)(piVar20[0x30] + 0x10)" * (pointer_expression "*(code **)(piVar20[0x30] + 0x10)" * (cast_expression "(code **)(piVar20[0x30] + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 0x10)" ( (binary_expression "piVar20[0x30] + 0x10" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],pppppcVar23)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (iVar19 == 0) goto LAB_0003fb80;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fb80;" goto statement_identifier ;)) (labeled_statement "LAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (labeled_statement "LAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x178);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x178)" identifier = (cast_expression "(code *****)(iVar11 + 0x178)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x178)" ( (binary_expression "iVar11 + 0x178" identifier + number_literal) )))) ;)) (expression_statement "iVar19 = bufchain_size(pppppcVar23);" (assignment_expression "iVar19 = bufchain_size(pppppcVar23)" identifier = (call_expression "bufchain_size(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier )))) ;) (if_statement "if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" { (expression_statement "unaff_s5 = *(code ******)(puVar26 + 0x730a8);" (assignment_expression "unaff_s5 = *(code ******)(puVar26 + 0x730a8)" identifier = (pointer_expression "*(code ******)(puVar26 + 0x730a8)" * (cast_expression "(code ******)(puVar26 + 0x730a8)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + 0x730a8)" ( (binary_expression "puVar26 + 0x730a8" identifier + number_literal) ))))) ;) (if_statement "if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" if (parenthesized_expression "(((uint)*unaff_s5 & 5) != 0)" ( (binary_expression "((uint)*unaff_s5 & 5) != 0" (parenthesized_expression "((uint)*unaff_s5 & 5)" ( (binary_expression "(uint)*unaff_s5 & 5" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" ( identifier )) * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" { (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73014))(iVar19,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73014))" ( (pointer_expression "**(code **)(puVar26 + 0x73014)" * (pointer_expression "*(code **)(puVar26 + 0x73014)" * (cast_expression "(code **)(puVar26 + 0x73014)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73014)" ( (binary_expression "puVar26 + 0x73014" identifier + number_literal) ))))) )) (argument_list "(iVar19,1)" ( identifier , number_literal ))))) ;) (expression_statement "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);" (call_expression "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x7304c))" ( (pointer_expression "**(code **)(puVar26 + 0x7304c)" * (pointer_expression "*(code **)(puVar26 + 0x7304c)" * (cast_expression "(code **)(puVar26 + 0x7304c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7304c)" ( (binary_expression "puVar26 + 0x7304c" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,pcVar9,iVar19)" ( identifier , identifier , identifier ))) ;) (if_statement "if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" if (parenthesized_expression "(((uint)*unaff_s5 & 2) == 0)" ( (binary_expression "((uint)*unaff_s5 & 2) == 0" (parenthesized_expression "((uint)*unaff_s5 & 2)" ( (binary_expression "(uint)*unaff_s5 & 2" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" ( identifier )) * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }" { (expression_statement "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);" (call_expression "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , identifier , identifier ))) ;) }) (else_clause "else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" else (compound_statement "{\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" { (expression_statement "puVar3 = *(undefined4 **)(puVar26 + 0x73b28);" (assignment_expression "puVar3 = *(undefined4 **)(puVar26 + 0x73b28)" identifier = (pointer_expression "*(undefined4 **)(puVar26 + 0x73b28)" * (cast_expression "(undefined4 **)(puVar26 + 0x73b28)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b28)" ( (binary_expression "puVar26 + 0x73b28" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" { (expression_statement "unaff_s5 = (code *****)&DAT_0000000d;" (assignment_expression "unaff_s5 = (code *****)&DAT_0000000d" identifier = (cast_expression "(code *****)&DAT_0000000d" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&DAT_0000000d" & identifier))) ;) (expression_statement "pcVar25 = pcVar9;" (assignment_expression "pcVar25 = pcVar9" identifier = identifier) ;) (do_statement "do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);" do (compound_statement "{\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          }" { (expression_statement "uVar8 = (uint)*pcVar25;" (assignment_expression "uVar8 = (uint)*pcVar25" identifier = (binary_expression "(uint)*pcVar25" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" if (parenthesized_expression "((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0))))" ( (binary_expression "(uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" (parenthesized_expression "(uVar8 != 0xd)" ( (binary_expression "uVar8 != 0xd" identifier != number_literal) )) && (parenthesized_expression "((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" ( (parenthesized_expression "(uVar8 == 10 || ((uVar8 & 0x60) != 0))" ( (binary_expression "uVar8 == 10 || ((uVar8 & 0x60) != 0)" (binary_expression "uVar8 == 10" identifier == number_literal) || (parenthesized_expression "((uVar8 & 0x60) != 0)" ( (binary_expression "(uVar8 & 0x60) != 0" (parenthesized_expression "(uVar8 & 0x60)" ( (binary_expression "uVar8 & 0x60" identifier & number_literal) )) != number_literal) ))) )) ))) )) (compound_statement "{\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" { (expression_statement "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);" (call_expression "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3)" (parenthesized_expression "(**(code **)(puVar26 + 0x739c4))" ( (pointer_expression "**(code **)(puVar26 + 0x739c4)" * (pointer_expression "*(code **)(puVar26 + 0x739c4)" * (cast_expression "(code **)(puVar26 + 0x739c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x739c4)" ( (binary_expression "puVar26 + 0x739c4" identifier + number_literal) ))))) )) (argument_list "(uVar8,*puVar3)" ( identifier , (pointer_expression "*puVar3" * identifier) ))) ;) })) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar25 != pcVar9 + iVar19)" ( (binary_expression "pcVar25 != pcVar9 + iVar19" identifier != (binary_expression "pcVar9 + iVar19" identifier + identifier)) )) ;) })) }))) (expression_statement "safefree(pcVar9);" (call_expression "safefree(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) })) })) (expression_statement "bufchain_clear(pppppcVar23);" (call_expression "bufchain_clear(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" identifier = (subscript_expression "pppppcVar24[2]" identifier [ number_literal ])) ;) (if_statement "if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x34)" ( (binary_expression "ppppcVar4 == (code ****)0x34" identifier == (cast_expression "(code ****)0x34" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4eac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[0xe] = 1;" (assignment_expression "piVar20[0xe] = 1" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0003fe38:\n    iVar19 = piVar20[0x14];" statement_identifier : (expression_statement "iVar19 = piVar20[0x14];" (assignment_expression "iVar19 = piVar20[0x14]" identifier = (subscript_expression "piVar20[0x14]" identifier [ number_literal ])) ;)) (expression_statement "*(undefined4 *)(iVar11 + 0x344) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x344) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x344)" * (cast_expression "(undefined4 *)(iVar11 + 0x344)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x344)" ( (binary_expression "iVar11 + 0x344" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" { (expression_statement "safefree(piVar20[0x18]);" (call_expression "safefree(piVar20[0x18])" identifier (argument_list "(piVar20[0x18])" ( (subscript_expression "piVar20[0x18]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x14]);" (call_expression "safefree(piVar20[0x14])" identifier (argument_list "(piVar20[0x14])" ( (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar20[0x19]);" (call_expression "safefree(piVar20[0x19])" identifier (argument_list "(piVar20[0x19])" ( (subscript_expression "piVar20[0x19]" identifier [ number_literal ]) ))) ;) })) (if_statement "if (piVar20[0x1c] != 0) {\n      safefree();\n    }" if (parenthesized_expression "(piVar20[0x1c] != 0)" ( (binary_expression "piVar20[0x1c] != 0" (subscript_expression "piVar20[0x1c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      safefree();\n    }" { (expression_statement "safefree();" (call_expression "safefree()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (if_statement "if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" if (parenthesized_expression "(piVar20[0xe] == 0)" ( (binary_expression "piVar20[0xe] == 0" (subscript_expression "piVar20[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }" { (labeled_statement "LAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar26 + 0x730c8)" * (cast_expression "(code **)(puVar26 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730c8)" ( (binary_expression "puVar26 + 0x730c8" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" else (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" identifier = (pointer_expression "*(code **)(puVar26 + 0x730c8)" * (cast_expression "(code **)(puVar26 + 0x730c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x730c8)" ( (binary_expression "puVar26 + 0x730c8" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0xec) == 0)" ( (binary_expression "*(int *)(iVar11 + 0xec) == 0" (pointer_expression "*(int *)(iVar11 + 0xec)" * (cast_expression "(int *)(iVar11 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xec)" ( (binary_expression "iVar11 + 0xec" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" { (expression_statement "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);" (call_expression "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" identifier (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" identifier = (pointer_expression "*(int *)(puVar26 + 0x7336c)" * (cast_expression "(int *)(puVar26 + 0x7336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x7336c)" ( (binary_expression "puVar26 + 0x7336c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fecc;" goto statement_identifier ;) })) }))) (expression_statement "uVar2 = (*pcVar27)(iVar19 + 0x6ba0);" (assignment_expression "uVar2 = (*pcVar27)(iVar19 + 0x6ba0)" identifier = (call_expression "(*pcVar27)(iVar19 + 0x6ba0)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar19 + 0x6ba0)" ( (binary_expression "iVar19 + 0x6ba0" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x124) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x124) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x124)" * (cast_expression "(undefined4 *)(iVar11 + 0x124)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x124)" ( (binary_expression "iVar11 + 0x124" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(iVar11 + 0x3e4)" * (cast_expression "(int *)(iVar11 + 0x3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e4)" ( (binary_expression "iVar11 + 0x3e4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(iVar11 + 0x3b0)" * (cast_expression "(int *)(iVar11 + 0x3b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3b0)" ( (binary_expression "iVar11 + 0x3b0" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2d)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }" { (expression_statement "piVar5 = (int *)safemalloc(1,0x5c);" (assignment_expression "piVar5 = (int *)safemalloc(1,0x5c)" identifier = (cast_expression "(int *)safemalloc(1,0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(1,0x5c)" identifier (argument_list "(1,0x5c)" ( number_literal , number_literal ))))) ;) (expression_statement "*(int **)(iVar11 + 0x128) = piVar5;" (assignment_expression "*(int **)(iVar11 + 0x128) = piVar5" (pointer_expression "*(int **)(iVar11 + 0x128)" * (cast_expression "(int **)(iVar11 + 0x128)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) = identifier) ;) (expression_statement "*piVar5 = iVar11;" (assignment_expression "*piVar5 = iVar11" (pointer_expression "*piVar5" * identifier) = identifier) ;) (expression_statement "FUN_0003e1f8(piVar5);" (call_expression "FUN_0003e1f8(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (if_statement "if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" if (parenthesized_expression "(*pcVar9 == '\0')" ( (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }" { (expression_statement "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);" (assignment_expression "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" identifier = (call_expression "FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" identifier (argument_list "(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" ( (binary_expression "*(int *)(iVar11 + 0x128) + 8" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(iVar11 + 0x128) + 0x34" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7718" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x110)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);" (call_expression "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55f8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 300) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 300)" * (cast_expression "(undefined4 *)(iVar11 + 300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" else (compound_statement "{\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" { (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x128)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" identifier = (cast_expression "(code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2f)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);" (call_expression "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" identifier (argument_list "(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" ( identifier , identifier , identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55e8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "*(undefined4 *)(iVar11 + 300) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 300)" * (cast_expression "(undefined4 *)(iVar11 + 300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00040660:\n        *piVar20 = 0x2a03;" statement_identifier : (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) }) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x128) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x128) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);" statement_identifier : (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;)) (expression_statement "iVar19 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 0x3ec)" * (cast_expression "(int *)(iVar11 + 0x3ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3ec)" ( (binary_expression "iVar11 + 0x3ec" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x5294" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 1000) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 1000)" * (cast_expression "(int *)(iVar11 + 1000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 1000)" ( (binary_expression "iVar11 + 1000" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x5294" identifier + number_literal)) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" identifier = (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x3fc)" * (cast_expression "(int *)(iVar11 + 0x3fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3fc)" ( (binary_expression "iVar11 + 0x3fc" identifier + number_literal) )))) = (binary_expression "iVar19 + -0x4d18" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x400)" * (cast_expression "(int *)(iVar11 + 0x400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x400)" ( (binary_expression "iVar11 + 0x400" identifier + number_literal) )))) = (binary_expression "iVar19 + -0x4d18" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950" (pointer_expression "*(int *)(iVar11 + 0x3f0)" * (cast_expression "(int *)(iVar11 + 0x3f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f0)" ( (binary_expression "iVar11 + 0x3f0" identifier + number_literal) )))) = (binary_expression "iVar15 + -0x4950" identifier + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(iVar11 + 0x3f4)" * (cast_expression "(int *)(iVar11 + 0x3f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f4)" ( (binary_expression "iVar11 + 0x3f4" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(iVar11 + 0x3dc)" * (cast_expression "(int *)(iVar11 + 0x3dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3dc)" ( (binary_expression "iVar11 + 0x3dc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(iVar11 + 0x3e0)" * (cast_expression "(int *)(iVar11 + 0x3e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3e0)" ( (binary_expression "iVar11 + 0x3e0" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;" (assignment_expression "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(iVar11 + 0x3f8)" * (cast_expression "(int *)(iVar11 + 0x3f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3f8)" ( (binary_expression "iVar11 + 0x3f8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(iVar11 + 0x3d8)" * (cast_expression "(int *)(iVar11 + 0x3d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x3d8)" ( (binary_expression "iVar11 + 0x3d8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0xf4) != 0)" ( (binary_expression "*(int *)(iVar11 + 0xf4) != 0" (pointer_expression "*(int *)(iVar11 + 0xf4)" * (cast_expression "(int *)(iVar11 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf4)" ( (binary_expression "iVar11 + 0xf4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));" (call_expression "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73544))" ( (pointer_expression "**(code **)(puVar26 + 0x73544)" * (pointer_expression "*(code **)(puVar26 + 0x73544)" * (cast_expression "(code **)(puVar26 + 0x73544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73544)" ( (binary_expression "puVar26 + 0x73544" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" ( (pointer_expression "*(int *)(iVar11 + 0xf4)" * (cast_expression "(int *)(iVar11 + 0xf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf4)" ( (binary_expression "iVar11 + 0xf4" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar11 + 8)" * (cast_expression "(undefined4 *)(iVar11 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" if (parenthesized_expression "((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0))" ( (binary_expression "(*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) != 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" ( (comma_expression "iVar19 = FUN_0003769c(iVar11), iVar19 != 0" (assignment_expression "iVar19 = FUN_0003769c(iVar11)" identifier = (call_expression "FUN_0003769c(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) , (binary_expression "iVar19 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" { (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56e0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" identifier (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) })) (expression_statement "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));" (call_expression "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248))" identifier (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x248))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) ))) ;) (if_statement "if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" if (parenthesized_expression "((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0))" ( (binary_expression "(*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(iVar11 + 300) != 0)" ( (binary_expression "*(int *)(iVar11 + 300) != 0" (pointer_expression "*(int *)(iVar11 + 300)" * (cast_expression "(int *)(iVar11 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 300)" ( (binary_expression "iVar11 + 300" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x104) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x104) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x104)" * (cast_expression "(undefined4 *)(iVar11 + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x104)" ( (binary_expression "iVar11 + 0x104" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x108) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x108) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x108)" * (cast_expression "(undefined4 *)(iVar11 + 0x108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x108)" ( (binary_expression "iVar11 + 0x108" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;" statement_identifier : (expression_statement "*(undefined4 *)(iVar11 + 0x144) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x144) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x144)" * (cast_expression "(undefined4 *)(iVar11 + 0x144)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x144)" ( (binary_expression "iVar11 + 0x144" identifier + number_literal) )))) = number_literal) ;)) (if_statement "if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x148) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x148) != 0" (pointer_expression "*(int *)(iVar11 + 0x148)" * (cast_expression "(int *)(iVar11 + 0x148)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x148)" ( (binary_expression "iVar11 + 0x148" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" { (expression_statement "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));" (call_expression "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" identifier (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x11c)" * (cast_expression "(undefined4 *)(iVar11 + 0x11c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x11c)" ( (binary_expression "iVar11 + 0x11c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar11 + 0x120)" * (cast_expression "(undefined4 *)(iVar11 + 0x120)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x120)" ( (binary_expression "iVar11 + 0x120" identifier + number_literal) )))) ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x14c) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x14c) != 0" (pointer_expression "*(int *)(iVar11 + 0x14c)" * (cast_expression "(int *)(iVar11 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14c)" ( (binary_expression "iVar11 + 0x14c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          FUN_0004f144(iVar11,0xc);\n        }" { (expression_statement "FUN_0004f144(iVar11,0xc);" (call_expression "FUN_0004f144(iVar11,0xc)" identifier (argument_list "(iVar11,0xc)" ( identifier , number_literal ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x14) != 0" (pointer_expression "*(int *)(iVar11 + 0x14)" * (cast_expression "(int *)(iVar11 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          ldisc_echoedit_update();\n        }" { (expression_statement "ldisc_echoedit_update();" (call_expression "ldisc_echoedit_update()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" * (cast_expression "(int *)(iVar11 + 0x128)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }" { (labeled_statement "LAB_0003f7c4:\n          *piVar20 = 0x2abd;" statement_identifier : (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }) (else_clause "else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" else (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }))) }) (else_clause "else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" else (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x95)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" { (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" identifier = (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x96)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" identifier = (call_expression "(**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73570))" ( (pointer_expression "**(code **)(puVar26 + 0x73570)" * (pointer_expression "*(code **)(puVar26 + 0x73570)" * (cast_expression "(code **)(puVar26 + 0x73570)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73570)" ( (binary_expression "puVar26 + 0x73570" identifier + number_literal) ))))) )) (argument_list "(uVar2,*(undefined4 *)(iVar11 + 0x248))" ( identifier , (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar11 + 0x18c) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x18c) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x18c)" * (cast_expression "(int *)(iVar11 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18c)" ( (binary_expression "iVar11 + 0x18c" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5704" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" else (compound_statement "{\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" { (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x194);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x194)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x194)" * (cast_expression "(undefined4 *)(iVar11 + 0x194)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x194)" ( (binary_expression "iVar11 + 0x194" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x97)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" identifier = (call_expression "(**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73528))" ( (pointer_expression "**(code **)(puVar26 + 0x73528)" * (pointer_expression "*(code **)(puVar26 + 0x73528)" * (cast_expression "(code **)(puVar26 + 0x73528)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73528)" ( (binary_expression "puVar26 + 0x73528" identifier + number_literal) ))))) )) (argument_list "(uVar14,uVar2)" ( identifier , identifier )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x128)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(iVar11 + 400) = iVar19;" (assignment_expression "*(int *)(iVar11 + 400) = iVar19" (pointer_expression "*(int *)(iVar11 + 400)" * (cast_expression "(int *)(iVar11 + 400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 400)" ( (binary_expression "iVar11 + 400" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);" (assignment_expression "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c)" (pointer_expression "*(undefined4 *)(iVar19 + 0x1c)" * (cast_expression "(undefined4 *)(iVar19 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x1c)" ( (binary_expression "iVar19 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar11 + 0x18c)" * (cast_expression "(undefined4 *)(iVar11 + 0x18c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x18c)" ( (binary_expression "iVar11 + 0x18c" identifier + number_literal) ))))) ;) (expression_statement "FUN_00046fcc(uVar2,0,0);" (call_expression "FUN_00046fcc(uVar2,0,0)" identifier (argument_list "(uVar2,0,0)" ( identifier , number_literal , number_literal ))) ;) }))) })) (expression_statement "iVar19 = ssh_agent_forwarding_permitted(iVar11);" (assignment_expression "iVar19 = ssh_agent_forwarding_permitted(iVar11)" identifier = (call_expression "ssh_agent_forwarding_permitted(iVar11)" identifier (argument_list "(iVar11)" ( identifier )))) ;) (if_statement "if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" { (expression_statement "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x16)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" { (expression_statement "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) })) (expression_statement "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , number_literal , number_literal ))) ;) (if_statement "if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" if (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" ( (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" * (cast_expression "(int *)(iVar11 + 0x174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x174)" ( (binary_expression "iVar11 + 0x174" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }" { (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" identifier = (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2b)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "uVar2 = 0x14;" (assignment_expression "uVar2 = 0x14" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" else (compound_statement "{\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" { (labeled_statement "LAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" identifier = (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal ))))) ;)) (expression_statement "uVar2 = 0x15;" (assignment_expression "uVar2 = 0x15" identifier = number_literal) ;) }))) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" identifier = (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" ( (pointer_expression "**(code **)(puVar26 + 0x73094)" * (pointer_expression "*(code **)(puVar26 + 0x73094)" * (cast_expression "(code **)(puVar26 + 0x73094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73094)" ( (binary_expression "puVar26 + 0x73094" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),uVar2)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" if (parenthesized_expression "(pppppcVar23 == (code *****)0x0)" ( (binary_expression "pppppcVar23 == (code *****)0x0" identifier == (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" identifier = (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (if_statement "if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" if (parenthesized_expression "(*pcVar9 != '\0')" ( (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x574c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_00041828;" goto statement_identifier ;) })) (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5754" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , number_literal )))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" else (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" { (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" identifier = (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" * (cast_expression "(int *)(puVar26 + 0x73504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x73504)" ( (binary_expression "puVar26 + 0x73504" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5740" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" statement_identifier : (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" identifier = (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" * (cast_expression "(undefined4 *)(iVar11 + 0x128)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x128)" ( (binary_expression "iVar11 + 0x128" identifier + number_literal) )))) , identifier , identifier , number_literal )))) ;)) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,pcVar9);" (call_expression "FUN_0003b23c(iVar19,pcVar9)" identifier (argument_list "(iVar19,pcVar9)" ( identifier , identifier ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) }))) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" identifier (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00041870:\n        *piVar20 = 0x2a90;" statement_identifier : (expression_statement "*piVar20 = 0x2a90;" (assignment_expression "*piVar20 = 0x2a90" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) }))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" if (parenthesized_expression "(ppppcVar4 == (code ****)0x33)" ( (binary_expression "ppppcVar4 == (code ****)0x33" identifier == (cast_expression "(code ****)0x33" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }" { (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" identifier (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" ( identifier , (pointer_expression "&ppppcStack_94" & identifier) , (pointer_expression "&ppppcStack_90" & identifier) ))) ;) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" identifier = (subscript_expression "pppppcVar24[6]" identifier [ number_literal ])) ;) (if_statement "if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" if (parenthesized_expression "(((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'))" ( (binary_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" ( (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppppcVar24" * identifier)) - (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) || (parenthesized_expression "(cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" ( (comma_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" identifier = (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" * (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" ( (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppcVar24[5]" identifier [ number_literal ])) + (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (comma_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (cast_expression "(code ****)((int)ppppcVar4 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar4 + 1)" ( (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')))) ))) )) (compound_statement "{\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }" { (expression_statement "iVar19 = piVar20[1];" (assignment_expression "iVar19 = piVar20[1]" identifier = (subscript_expression "piVar20[1]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = *(int **)(puVar26 + 0x734a0);" (assignment_expression "piVar5 = *(int **)(puVar26 + 0x734a0)" identifier = (pointer_expression "*(int **)(puVar26 + 0x734a0)" * (cast_expression "(int **)(puVar26 + 0x734a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (if_statement "if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 - 2U < 2)" ( (binary_expression "iVar19 - 2U < 2" (binary_expression "iVar19 - 2U" identifier - number_literal) < number_literal) )) (compound_statement "{\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" { (if_statement "if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" if (parenthesized_expression "(iVar19 == 2)" ( (binary_expression "iVar19 == 2" identifier == number_literal) )) (compound_statement "{\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ef4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f28" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (if_statement "if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 == 7)" ( (binary_expression "iVar19 == 7" identifier == number_literal) )) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" { (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fa4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" if (parenthesized_expression "(iVar19 != 5)" ( (binary_expression "iVar19 != 5" identifier != number_literal) )) (compound_statement "{\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" { (if_statement "if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" if (parenthesized_expression "(iVar19 != 6)" ( (binary_expression "iVar19 != 6" identifier != number_literal) )) (compound_statement "{\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" { (if_statement "if (iVar19 != 4) goto LAB_00042db4;" if (parenthesized_expression "(iVar19 != 4)" ( (binary_expression "iVar19 != 4" identifier != number_literal) )) (goto_statement "goto LAB_00042db4;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5034" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x1e)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar20[0x13] == 0) goto LAB_0003fc40;" if (parenthesized_expression "(piVar20[0x13] == 0)" ( (binary_expression "piVar20[0x13] == 0" (subscript_expression "piVar20[0x13]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;)) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" identifier = (call_expression "(**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" ( (pointer_expression "**(code **)(puVar26 + 0x73040)" * (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) )) (argument_list "(uVar2,0x1e)" ( identifier , number_literal )))) ;) (if_statement "if (iVar19 == 0) goto LAB_0003fc6c;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003fc6c;" goto statement_identifier ;)) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0003fc40;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fd8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (goto_statement "goto LAB_000411b0;" goto statement_identifier ;) })) }) (else_clause "else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" else (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" identifier (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5054" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5078" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);" statement_identifier : (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;)) }))) (expression_statement "pppppcVar23 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar23 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppcVar24 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_94" identifier = (cast_expression "(code *****)ppppcStack_94" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" ( (binary_expression "iVar15 + 0x5098" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "piVar20[5] = iVar19;" (assignment_expression "piVar20[5] = iVar19" (subscript_expression "piVar20[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "piVar20[6] = iVar19;" (assignment_expression "piVar20[6] = iVar19" (subscript_expression "piVar20[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar8 = (*pcVar27)(uVar2,0x26);" (assignment_expression "uVar8 = (*pcVar27)(uVar2,0x26)" identifier = (call_expression "(*pcVar27)(uVar2,0x26)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x26)" ( identifier , number_literal )))) ;) (if_statement "if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" { (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "uVar8 = (uint)(iVar19 != 0);" (assignment_expression "uVar8 = (uint)(iVar19 != 0)" identifier = (call_expression "(uint)(iVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )))) ;) })) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73040)" * (cast_expression "(code **)(puVar26 + 0x73040)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73040)" ( (binary_expression "puVar26 + 0x73040" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) ))))) ;) (expression_statement "piVar20[7] = uVar8;" (assignment_expression "piVar20[7] = uVar8" (subscript_expression "piVar20[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x27);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x27)" identifier = (call_expression "(*pcVar27)(uVar2,0x27)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(uVar2,0x27)" ( identifier , number_literal )))) ;) (if_statement "if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" if (parenthesized_expression "((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0))" ( (binary_expression "(iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" ( (comma_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" identifier = (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) , (binary_expression "iVar19 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      piVar20[10] = 0;\n    }" { (expression_statement "piVar20[10] = 0;" (assignment_expression "piVar20[10] = 0" (subscript_expression "piVar20[10]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" else (compound_statement "{\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" { (expression_statement "iVar19 = *(int *)(iVar11 + 0x6a8);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x6a8)" identifier = (pointer_expression "*(int *)(iVar11 + 0x6a8)" * (cast_expression "(int *)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" identifier = (call_expression "(**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73558))" ( (pointer_expression "**(code **)(puVar26 + 0x73558)" * (pointer_expression "*(code **)(puVar26 + 0x73558)" * (cast_expression "(code **)(puVar26 + 0x73558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73558)" ( (binary_expression "puVar26 + 0x73558" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) )))) ;) (expression_statement "*(int *)(iVar11 + 0x6a8) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6a8) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6a8)" * (cast_expression "(int *)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));" (assignment_expression "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4))" (subscript_expression "piVar20[10]" identifier [ number_literal ]) = (call_expression "(uint)(0 < *(int *)(iVar19 + 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0 < *(int *)(iVar19 + 4))" ( (binary_expression "0 < *(int *)(iVar19 + 4)" number_literal < (pointer_expression "*(int *)(iVar19 + 4)" * (cast_expression "(int *)(iVar19 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) )))) ;) }))) }) (else_clause "else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" else (compound_statement "{\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" { (if_statement "if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(piVar20[1] != 5)" ( (binary_expression "piVar20[1] != 5" (subscript_expression "piVar20[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ebc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);" statement_identifier : (expression_statement "uVar2 = dupprintf(iVar19,ppppcVar4);" (assignment_expression "uVar2 = dupprintf(iVar19,ppppcVar4)" identifier = (call_expression "dupprintf(iVar19,ppppcVar4)" identifier (argument_list "(iVar19,ppppcVar4)" ( identifier , identifier )))) ;)) (labeled_statement "LAB_00040050:\n      FUN_0003822c(iVar11,uVar2);" statement_identifier : (expression_statement "FUN_0003822c(iVar11,uVar2);" (call_expression "FUN_0003822c(iVar11,uVar2)" identifier (argument_list "(iVar11,uVar2)" ( identifier , identifier ))) ;)) (labeled_statement "LAB_0003fd38:\n      *piVar20 = 0;" statement_identifier : (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "iVar19 = piVar20[5];" (assignment_expression "iVar19 = piVar20[5]" identifier = (subscript_expression "piVar20[5]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" { (if_statement "if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "((piVar20[9] == 0) && (piVar20[0x21] != 0))" ( (binary_expression "(piVar20[9] == 0) && (piVar20[0x21] != 0)" (parenthesized_expression "(piVar20[9] == 0)" ( (binary_expression "piVar20[9] == 0" (subscript_expression "piVar20[9]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(piVar20[0x21] != 0)" ( (binary_expression "piVar20[0x21] != 0" (subscript_expression "piVar20[0x21]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" identifier = (subscript_expression "piVar20[0x20]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)&pppcStack_88;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_88" identifier = (cast_expression "(code *****)&pppcStack_88" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppcStack_88" & identifier))) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15)" identifier (argument_list "(iVar11,iVar19 + 0x50cc,iVar15)" ( identifier , (binary_expression "iVar19 + 0x50cc" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar20[0x1d])" ( (pointer_expression "*(undefined4 *)piVar20[0x1d]" * (cast_expression "(undefined4 *)piVar20[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "iVar6 = piVar20[0x1d];" (assignment_expression "iVar6 = piVar20[0x1d]" identifier = (subscript_expression "piVar20[0x1d]" identifier [ number_literal ])) ;) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar15 = iVar6 + 4;" (assignment_expression "iVar15 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) (expression_statement "piVar20[0x22] = iVar15;" (assignment_expression "piVar20[0x22] = iVar15" (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73100);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73100)" identifier = (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x1d] = iVar15 + iVar19;" (assignment_expression "piVar20[0x1d] = iVar15 + iVar19" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "iVar15 + iVar19" identifier + identifier)) ;) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4))" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar6 + 4))" ( (pointer_expression "*(undefined4 *)(iVar6 + 4)" * (cast_expression "(undefined4 *)(iVar6 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 4)" ( (binary_expression "iVar6 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "piVar20[0x26] = iVar19;" (assignment_expression "piVar20[0x26] = iVar19" (subscript_expression "piVar20[0x26]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[0x23] = piVar20[0x22] + 4;" (assignment_expression "piVar20[0x23] = piVar20[0x22] + 4" (subscript_expression "piVar20[0x23]" identifier [ number_literal ]) = (binary_expression "piVar20[0x22] + 4" (subscript_expression "piVar20[0x22]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" identifier = (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" ( (pointer_expression "**(code **)(puVar26 + 0x73100)" * (pointer_expression "*(code **)(puVar26 + 0x73100)" * (cast_expression "(code **)(puVar26 + 0x73100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73100)" ( (binary_expression "puVar26 + 0x73100" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar20[0x1d])" ( (pointer_expression "*(undefined4 *)piVar20[0x1d]" * (cast_expression "(undefined4 *)piVar20[0x1d]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]))) )))) ;) (expression_statement "piVar20[0x27] = iVar19;" (assignment_expression "piVar20[0x27] = iVar19" (subscript_expression "piVar20[0x27]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[0x24] = piVar20[0x1d] + 4;" (assignment_expression "piVar20[0x24] = piVar20[0x1d] + 4" (subscript_expression "piVar20[0x24]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;" (assignment_expression "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) = (binary_expression "piVar20[0x1d] + 4 + iVar19" (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" identifier [ number_literal ]) + number_literal) + identifier)) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,pppppcVar23,4);" (call_expression "FUN_0003aef4(puVar3,pppppcVar23,4)" identifier (argument_list "(puVar3,pppppcVar23,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" identifier = (subscript_expression "piVar20[0x26]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" identifier = (subscript_expression "piVar20[0x23]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppcVar24 = (code *****)piVar20[0x2e];" (assignment_expression "pppppcVar24 = (code *****)piVar20[0x2e]" identifier = (cast_expression "(code *****)piVar20[0x2e]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(pppppcVar24,pppppcVar23,4);" (call_expression "FUN_0003aef4(pppppcVar24,pppppcVar23,4)" identifier (argument_list "(pppppcVar24,pppppcVar23,4)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" identifier = (subscript_expression "piVar20[0x25]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" identifier = (subscript_expression "piVar20[0x22]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar24[6] = *pppppcVar24;" (assignment_expression "pppppcVar24[6] = *pppppcVar24" (subscript_expression "pppppcVar24[6]" identifier [ number_literal ]) = (pointer_expression "*pppppcVar24" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar20[1] = 3;" (assignment_expression "piVar20[1] = 3" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00040908:\n      *piVar20 = 0x2650;" statement_identifier : (expression_statement "*piVar20 = 0x2650;" (assignment_expression "*piVar20 = 0x2650" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) (if_statement "if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" if (parenthesized_expression "(((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0))" ( (binary_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)" (parenthesized_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0))" ( (binary_expression "(piVar20[0x14] != 0) && (piVar20[0x16] != 0)" (parenthesized_expression "(piVar20[0x14] != 0)" ( (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(piVar20[0x16] != 0)" ( (binary_expression "piVar20[0x16] != 0" (subscript_expression "piVar20[0x16]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar20[8] == 0)" ( (binary_expression "piVar20[8] == 0" (subscript_expression "piVar20[8]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" identifier = (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" ( (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" * (cast_expression "(int *)(puVar26 + 0x734a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x734a0)" ( (binary_expression "puVar26 + 0x734a0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x18])" identifier (argument_list "(piVar20[0x2e],piVar20[0x18])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x18]" identifier [ number_literal ]) ))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar6 = piVar20[0x15];" (assignment_expression "iVar6 = piVar20[0x15]" identifier = (subscript_expression "piVar20[0x15]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar20[0x14];" (assignment_expression "iVar15 = piVar20[0x14]" identifier = (subscript_expression "piVar20[0x14]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" identifier (argument_list "(iVar19,iVar15,iVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5158" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00041ab0:\n      *piVar20 = 0x26df;" statement_identifier : (expression_statement "*piVar20 = 0x26df;" (assignment_expression "*piVar20 = 0x26df" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })) })) (if_statement "if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" if (parenthesized_expression "((piVar20[10] != 0) && (piVar20[0xb] == 0))" ( (binary_expression "(piVar20[10] != 0) && (piVar20[0xb] == 0)" (parenthesized_expression "(piVar20[10] != 0)" ( (binary_expression "piVar20[10] != 0" (subscript_expression "piVar20[10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(piVar20[0xb] == 0)" ( (binary_expression "piVar20[0xb] == 0" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" { (expression_statement "piVar20[0xb] = 1;" (assignment_expression "piVar20[0xb] = 1" (subscript_expression "piVar20[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar20[1] = 5;" (assignment_expression "piVar20[1] = 5" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = **(int **)(puVar26 + 0x73414);" (assignment_expression "iVar19 = **(int **)(puVar26 + 0x73414)" identifier = (pointer_expression "**(int **)(puVar26 + 0x73414)" * (pointer_expression "*(int **)(puVar26 + 0x73414)" * (cast_expression "(int **)(puVar26 + 0x73414)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73414)" ( (binary_expression "puVar26 + 0x73414" identifier + number_literal) )))))) ;) (expression_statement "piVar20[0x30] = 0;" (assignment_expression "piVar20[0x30] = 0" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" if (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" { (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x733d0)" * (cast_expression "(code **)(puVar26 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x733d0)" ( (binary_expression "puVar26 + 0x733d0" identifier + number_literal) ))))) ;) (do_statement "do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);" do (compound_statement "{\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      }" { (expression_statement "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);" (assignment_expression "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" identifier = (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal , identifier )))) ;) (expression_statement "iVar18 = (*(int **)(iVar11 + 0x6a8))[1];" (assignment_expression "iVar18 = (*(int **)(iVar11 + 0x6a8))[1]" identifier = (subscript_expression "(*(int **)(iVar11 + 0x6a8))[1]" (parenthesized_expression "(*(int **)(iVar11 + 0x6a8))" ( (pointer_expression "*(int **)(iVar11 + 0x6a8)" * (cast_expression "(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) )))) )) [ number_literal ])) ;) (if_statement "if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" { (expression_statement "piVar5 = (int *)**(int **)(iVar11 + 0x6a8);" (assignment_expression "piVar5 = (int *)**(int **)(iVar11 + 0x6a8)" identifier = (cast_expression "(int *)**(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(iVar11 + 0x6a8)" * (pointer_expression "*(int **)(iVar11 + 0x6a8)" * (cast_expression "(int **)(iVar11 + 0x6a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x6a8)" ( (binary_expression "iVar11 + 0x6a8" identifier + number_literal) ))))))) ;) (if_statement "if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" if (parenthesized_expression "(iVar6 == *piVar5)" ( (binary_expression "iVar6 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" { (labeled_statement "LAB_0004106c:\n            piVar20[0x30] = (int)piVar5;" statement_identifier : (expression_statement "piVar20[0x30] = (int)piVar5;" (assignment_expression "piVar20[0x30] = (int)piVar5" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) = (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (goto_statement "goto LAB_0003f984;" goto statement_identifier ;) })) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" { (expression_statement "piVar5 = piVar5 + 0x15;" (assignment_expression "piVar5 = piVar5 + 0x15" identifier = (binary_expression "piVar5 + 0x15" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (if_statement "if (iVar13 == iVar18) break;" if (parenthesized_expression "(iVar13 == iVar18)" ( (binary_expression "iVar13 == iVar18" identifier == identifier) )) (break_statement "break;" break ;)) (if_statement "if (*piVar5 == iVar6) goto LAB_0004106c;" if (parenthesized_expression "(*piVar5 == iVar6)" ( (binary_expression "*piVar5 == iVar6" (pointer_expression "*piVar5" * identifier) == identifier) )) (goto_statement "goto LAB_0004106c;" goto statement_identifier ;)) })) })) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" identifier = (binary_expression "iVar15 + 1" identifier + number_literal)) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x733d0)" * (cast_expression "(code **)(puVar26 + 0x733d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x733d0)" ( (binary_expression "puVar26 + 0x733d0" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar19 != iVar15)" ( (binary_expression "iVar19 != iVar15" identifier != identifier) )) ;) (expression_statement "piVar5 = (int *)piVar20[0x30];" (assignment_expression "piVar5 = (int *)piVar20[0x30]" identifier = (cast_expression "(int *)piVar20[0x30]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x30]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" { (if_statement "if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" if (parenthesized_expression "(piVar5[1] != 0)" ( (binary_expression "piVar5[1] != 0" (subscript_expression "piVar5[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" { (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))) ;) })) (expression_statement "pppppcVar23 = (code *****)&pppcStack_98;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_98" identifier = (cast_expression "(code *****)&pppcStack_98" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&pppcStack_98" & identifier))) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x524c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);" (call_expression "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 8))" ( (pointer_expression "**(code **)(piVar20[0x30] + 8)" * (pointer_expression "*(code **)(piVar20[0x30] + 8)" * (cast_expression "(code **)(piVar20[0x30] + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar20[0x30] + 8)" ( (binary_expression "piVar20[0x30] + 8" (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar20[0x30],piVar20 + 0x32)" ( (subscript_expression "piVar20[0x30]" identifier [ number_literal ]) , (binary_expression "piVar20 + 0x32" identifier + number_literal) ))) ;) (expression_statement "pppcStack_88 = (code ***)0x1;" (assignment_expression "pppcStack_88 = (code ***)0x1" identifier = (cast_expression "(code ***)0x1" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4)" identifier (argument_list "(piVar20[0x2e],&pppcStack_88,4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);" (call_expression "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2)" identifier (argument_list "(piVar20[0x2e],piVar20[0x32] + 2)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "piVar20[0x32] + 2" (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13(6,pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13(6,pppcStack_98._1_3_)" identifier (argument_list "(6,pppcStack_98._1_3_)" ( number_literal , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" identifier = (cast_expression "(code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" identifier (argument_list "((char)piVar20[0x32],pppcStack_98._1_3_)" ( (cast_expression "(char)piVar20[0x32]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar20[0x32]" identifier [ number_literal ])) , (field_expression "pppcStack_98._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);" (call_expression "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" identifier (argument_list "(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x33]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x32]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (labeled_statement "LAB_0003fae0:\n        *piVar20 = 0x27b6;" statement_identifier : (expression_statement "*piVar20 = 0x27b6;" (assignment_expression "*piVar20 = 0x27b6" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) })) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5240" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (do_statement "do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));" do (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    }" { (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" identifier (argument_list "(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) , (binary_expression "iVar19 + 0x51dc" identifier + number_literal) , number_literal ))) ;) (labeled_statement "LAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" statement_identifier : (if_statement "if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" if (parenthesized_expression "(piVar20[0x17] == 0)" ( (binary_expression "piVar20[0x17] == 0" (subscript_expression "piVar20[0x17]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" { (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" identifier = (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" ( (pointer_expression "**(code **)(puVar26 + 0x7354c)" * (pointer_expression "*(code **)(puVar26 + 0x7354c)" * (cast_expression "(code **)(puVar26 + 0x7354c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7354c)" ( (binary_expression "puVar26 + 0x7354c" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,&ppppcStack_90)" ( identifier , number_literal , (pointer_expression "&ppppcStack_90" & identifier) ))))) ;) (expression_statement "pppppcVar23 = &ppppcStack_90;" (assignment_expression "pppppcVar23 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (if_statement "if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;" if (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" identifier == (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) (goto_statement "goto LAB_00041b34;" goto statement_identifier ;)) (break_statement "break;" break ;) }))) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" ( (pointer_expression "**(code **)(puVar26 + 0x73530)" * (pointer_expression "*(code **)(puVar26 + 0x73530)" * (cast_expression "(code **)(puVar26 + 0x73530)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73530)" ( (binary_expression "puVar26 + 0x73530" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" identifier = (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" ( (pointer_expression "**(code **)(puVar26 + 0x7301c)" * (pointer_expression "*(code **)(puVar26 + 0x7301c)" * (cast_expression "(code **)(puVar26 + 0x7301c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7301c)" ( (binary_expression "puVar26 + 0x7301c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5190)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5190" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar19 = piVar20[0x19];" (assignment_expression "iVar19 = piVar20[0x19]" identifier = (subscript_expression "piVar20[0x19]" identifier [ number_literal ])) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" ( (pointer_expression "**(code **)(puVar26 + 0x73010)" * (pointer_expression "*(code **)(puVar26 + 0x73010)" * (cast_expression "(code **)(puVar26 + 0x73010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73010)" ( (binary_expression "puVar26 + 0x73010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier )))) ;) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" ( (pointer_expression "**(code **)(puVar26 + 0x73534)" * (pointer_expression "*(code **)(puVar26 + 0x73534)" * (cast_expression "(code **)(puVar26 + 0x73534)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73534)" ( (binary_expression "puVar26 + 0x73534" identifier + number_literal) ))))) )) (argument_list "(pppppcVar23,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) }))) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) goto LAB_00040b04;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00040b04;" goto statement_identifier ;)) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" identifier = (pointer_expression "&ppppcStack_90" & identifier)) ;) (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier = (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" * (pointer_expression "*(int **)(iVar15 + 0x18)" * (cast_expression "(int **)(iVar15 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" ( (pointer_expression "**(code **)(puVar26 + 0x7353c)" * (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" identifier = (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" ( (pointer_expression "**(code **)(puVar26 + 0x73134)" * (pointer_expression "*(code **)(puVar26 + 0x73134)" * (cast_expression "(code **)(puVar26 + 0x73134)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73134)" ( (binary_expression "puVar26 + 0x73134" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" * (cast_expression "(undefined4 *)(iVar11 + 0x248)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x248)" ( (binary_expression "iVar11 + 0x248" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "piVar20[0x2f] = iVar15;" (assignment_expression "piVar20[0x2f] = iVar15" (subscript_expression "piVar20[0x2f]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" identifier = (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" ( (pointer_expression "**(code **)(puVar26 + 0x7354c)" * (pointer_expression "*(code **)(puVar26 + 0x7354c)" * (cast_expression "(code **)(puVar26 + 0x7354c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7354c)" ( (binary_expression "puVar26 + 0x7354c" identifier + number_literal) ))))) )) (argument_list "(iVar15,iVar19,unaff_s5)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (iVar19 == 0) goto LAB_00042dd8;" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00042dd8;" goto statement_identifier ;)) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier )))) ;) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "safefree(iVar19);" (call_expression "safefree(iVar19)" identifier (argument_list "(iVar19)" ( identifier ))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" identifier = identifier) ;) }) while (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" identifier == (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) ;) (do_statement "do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));" do (compound_statement "{\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    }" { (if_statement "if (piVar5 == (int *)0x0) break;" if (parenthesized_expression "(piVar5 == (int *)0x0)" ( (binary_expression "piVar5 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" identifier = (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" identifier (argument_list "(1,ppppcStack_90._1_3_)" ( number_literal , (field_expression "ppppcStack_90._1_3_" identifier . field_identifier) ))))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" identifier (argument_list "(piVar20[0x2e],pppppcVar23,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" identifier (argument_list "(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(*piVar5 + 0x30)" * (cast_expression "(undefined4 *)(*piVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar5 + 0x30)" ( (binary_expression "*piVar5 + 0x30" (pointer_expression "*piVar5" * identifier) + number_literal) )))) ))) ;) (expression_statement "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);" (assignment_expression "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" identifier = (cast_expression "(code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" (parenthesized_expression "(**(code **)(*piVar5 + 0xc))" ( (pointer_expression "**(code **)(*piVar5 + 0xc)" * (pointer_expression "*(code **)(*piVar5 + 0xc)" * (cast_expression "(code **)(*piVar5 + 0xc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0xc)" ( (binary_expression "*piVar5 + 0xc" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5[1],&ppppcStack_94)" ( (subscript_expression "piVar5[1]" identifier [ number_literal ]) , (pointer_expression "&ppppcStack_94" & identifier) ))))) ;) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" identifier = (cast_expression "(undefined4 *)piVar20[0x2e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) ;) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" identifier = (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" identifier (argument_list "(puVar3,&pppcStack_88,4)" ( identifier , (pointer_expression "&pppcStack_88" & identifier) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" identifier = (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) ;) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = (pointer_expression "*puVar3" * identifier)) ;) (expression_statement "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);" (call_expression "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94)" identifier (argument_list "(iVar19,unaff_s5,ppppcStack_94)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }" if (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) != 0)" ( (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) != 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" ( (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar19 = iVar19 + -4;\n      }" { (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" identifier = (binary_expression "iVar19 + -4" identifier + number_literal)) ;) })) (expression_statement "puVar7 = (undefined1 *)safemalloc(iVar19,1);" (assignment_expression "puVar7 = (undefined1 *)safemalloc(iVar19,1)" identifier = (cast_expression "(undefined1 *)safemalloc(iVar19,1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "safemalloc(iVar19,1)" identifier (argument_list "(iVar19,1)" ( identifier , number_literal ))))) ;) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" if (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) == 0)" ( (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) == 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" ( (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" * (cast_expression "(uint *)(iVar11 + 0x50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }" { (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" identifier = number_literal) ;) (expression_statement "*puVar7 = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*puVar7 = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*puVar7" * identifier) = (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" * (cast_expression "(undefined1 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) ))))) ;) (expression_statement "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" * (cast_expression "(undefined2 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" ( (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "puVar12 = puVar7 + 4;" (assignment_expression "puVar12 = puVar7 + 4" identifier = (binary_expression "puVar7 + 4" identifier + number_literal)) ;) }) (else_clause "else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" else (compound_statement "{\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = puVar7;" (assignment_expression "puVar12 = puVar7" identifier = identifier) ;) }))) (expression_statement "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" ( identifier , (binary_expression "iVar11 + 0xa4" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" * (cast_expression "(undefined4 *)(iVar11 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))) ))) ;) (expression_statement "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4)" identifier = (binary_expression "iVar15 + *(int *)(iVar11 + 0xe4)" identifier + (pointer_expression "*(int *)(iVar11 + 0xe4)" * (cast_expression "(int *)(iVar11 + 0xe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xe4)" ( (binary_expression "iVar11 + 0xe4" identifier + number_literal) )))))) ;) (expression_statement "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);" (call_expression "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" ( (pointer_expression "**(code **)(puVar26 + 0x73b14)" * (pointer_expression "*(code **)(puVar26 + 0x73b14)" * (cast_expression "(code **)(puVar26 + 0x73b14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73b14)" ( (binary_expression "puVar26 + 0x73b14" identifier + number_literal) ))))) )) (argument_list "(puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" ( (binary_expression "puVar7 + iVar15" identifier + identifier) , (binary_expression "((int *)piVar20[0x2e])[4] + 5" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" ( (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ])) )) [ number_literal ]) + number_literal) , (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) ))) ;) (if_statement "if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" if (parenthesized_expression "(iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15)" ( (binary_expression "iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15" identifier == (binary_expression "*(int *)piVar20[0x2e] + -5 + iVar15" (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" * (cast_expression "(int *)piVar20[0x2e]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]))) + number_literal) + identifier)) )) (compound_statement "{\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" { (expression_statement "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;" (assignment_expression "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" identifier = (cast_expression "(code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" (parenthesized_expression "(**(code **)(*piVar5 + 0x2c))" ( (pointer_expression "**(code **)(*piVar5 + 0x2c)" * (pointer_expression "*(code **)(*piVar5 + 0x2c)" * (cast_expression "(code **)(*piVar5 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x2c)" ( (binary_expression "*piVar5 + 0x2c" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5[1],puVar7,iVar19,pppppcVar23)" ( (subscript_expression "piVar5[1]" identifier [ number_literal ]) , identifier , identifier , identifier ))))) ;) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" * (cast_expression "(undefined4 *)(iVar11 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x50)" ( (binary_expression "iVar11 + 0x50" identifier + number_literal) )))) , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" identifier (argument_list "(unaff_s5)" ( identifier ))) ;) (expression_statement "safefree(pppppcVar23);" (call_expression "safefree(pppppcVar23)" identifier (argument_list "(pppppcVar23)" ( identifier ))) ;) (expression_statement "safefree(puVar7);" (call_expression "safefree(puVar7)" identifier (argument_list "(puVar7)" ( identifier ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5224" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar19 = *piVar5;" (assignment_expression "iVar19 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar15 = piVar5[1];" (assignment_expression "iVar15 = piVar5[1]" identifier = (subscript_expression "piVar5[1]" identifier [ number_literal ])) ;) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(**(code **)(iVar19 + 4))(iVar15);" (call_expression "(**(code **)(iVar19 + 4))(iVar15)" (parenthesized_expression "(**(code **)(iVar19 + 4))" ( (pointer_expression "**(code **)(iVar19 + 4)" * (pointer_expression "*(code **)(iVar19 + 4)" * (cast_expression "(code **)(iVar19 + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 4)" ( (binary_expression "iVar19 + 4" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (expression_statement "safefree(piVar5[2]);" (call_expression "safefree(piVar5[2])" identifier (argument_list "(piVar5[2])" ( (subscript_expression "piVar5[2]" identifier [ number_literal ]) ))) ;) (expression_statement "safefree(piVar5);" (call_expression "safefree(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5210" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s5 = pppppcVar23;" (assignment_expression "unaff_s5 = pppppcVar23" identifier = identifier) ;) (labeled_statement "LAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" ( (pointer_expression "**(code **)(puVar26 + 0x73938)" * (pointer_expression "*(code **)(puVar26 + 0x73938)" * (cast_expression "(code **)(puVar26 + 0x73938)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73938)" ( (binary_expression "puVar26 + 0x73938" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5014" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_00042dd8:\n      pppppcVar23 = unaff_s5;" statement_identifier : (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" identifier = identifier) ;)) }) while (parenthesized_expression "(piVar5 != *(int **)(puVar26 + 0x73550))" ( (binary_expression "piVar5 != *(int **)(puVar26 + 0x73550)" identifier != (pointer_expression "*(int **)(puVar26 + 0x73550)" * (cast_expression "(int **)(puVar26 + 0x73550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73550)" ( (binary_expression "puVar26 + 0x73550" identifier + number_literal) ))))) )) ;) (labeled_statement "LAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);" statement_identifier : (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x110);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x110)" identifier = (cast_expression "(code *****)(iVar11 + 0x110)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ;)) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" identifier (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "unaff_s5 = (code *****)ppppcStack_90;" (assignment_expression "unaff_s5 = (code *****)ppppcStack_90" identifier = (cast_expression "(code *****)ppppcStack_90" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" identifier = (call_expression "(**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" ( (pointer_expression "**(code **)(puVar26 + 0x73a54)" * (pointer_expression "*(code **)(puVar26 + 0x73a54)" * (cast_expression "(code **)(puVar26 + 0x73a54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73a54)" ( (binary_expression "puVar26 + 0x73a54" identifier + number_literal) ))))) )) (argument_list "(ppppcStack_90)" ( identifier )))) ;) (expression_statement "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2)" identifier (argument_list "(pppppcVar23,unaff_s5,uVar2)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" identifier (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + -0x116c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" identifier = (subscript_expression "piVar20[3]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003fb74;" goto statement_identifier ;) })) (if_statement "if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" if (parenthesized_expression "((piVar20[7] == 0) || (piVar20[0xc] != 0))" ( (binary_expression "(piVar20[7] == 0) || (piVar20[0xc] != 0)" (parenthesized_expression "(piVar20[7] == 0)" ( (binary_expression "piVar20[7] == 0" (subscript_expression "piVar20[7]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(piVar20[0xc] != 0)" ( (binary_expression "piVar20[0xc] != 0" (subscript_expression "piVar20[0xc]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }" { (if_statement "if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" if (parenthesized_expression "(piVar20[6] == 0)" ( (binary_expression "piVar20[6] == 0" (subscript_expression "piVar20[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }" { (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" identifier = (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5554" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , identifier , identifier )))) ;) (expression_statement "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);" (call_expression "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" identifier (argument_list "(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" ( identifier , identifier , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5598" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (labeled_statement "LAB_00041054:\n      safefree(uVar2);" statement_identifier : (expression_statement "safefree(uVar2);" (call_expression "safefree(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;)) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" { (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 2" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier = (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" identifier (argument_list "(*(undefined4 *)(iVar11 + 0x110))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) ))))) ;) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) = (cast_expression "(int)puVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" * identifier) = number_literal) ;) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" identifier = (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" identifier (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" ( (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0xf8);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0xf8)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0xf8)" * (cast_expression "(undefined4 *)(iVar11 + 0xf8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xf8)" ( (binary_expression "iVar11 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" identifier = (cast_expression "(code *****)piVar20[0xf]" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (subscript_expression "piVar20[0xf]" identifier [ number_literal ]))) ;) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16)" identifier = (call_expression "dupprintf(iVar19 + 0x5480,uVar14,uVar16)" identifier (argument_list "(iVar19 + 0x5480,uVar14,uVar16)" ( (binary_expression "iVar19 + 0x5480" identifier + number_literal) , identifier , identifier )))) ;) (expression_statement "add_prompt(pppppcVar23,uVar2,0);" (call_expression "add_prompt(pppppcVar23,uVar2,0)" identifier (argument_list "(pppppcVar23,uVar2,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" identifier = (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" ( (pointer_expression "**(code **)(puVar26 + 0x73538)" * (pointer_expression "*(code **)(puVar26 + 0x73538)" * (cast_expression "(code **)(puVar26 + 0x73538)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73538)" ( (binary_expression "puVar26 + 0x73538" identifier + number_literal) ))))) )) (argument_list "(piVar20[0xf],0,0)" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) , number_literal , number_literal )))) ;) (labeled_statement "LAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" statement_identifier : (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" if (parenthesized_expression "(iVar19 < 0)" ( (binary_expression "iVar19 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }" { (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" * (cast_expression "(undefined4 *)(iVar11 + 0x100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100)" ( (binary_expression "iVar11 + 0x100" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" else (compound_statement "{\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" { (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" identifier = (subscript_expression "piVar20[0xf]" identifier [ number_literal ])) ;) (if_statement "if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }" { (labeled_statement "LAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_00040b08:\n          (*pcVar27)(iVar15);" statement_identifier : (expression_statement "(*pcVar27)(iVar15);" (call_expression "(*pcVar27)(iVar15)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15)" ( identifier ))) ;)) (expression_statement "uVar2 = 0xd;" (assignment_expression "uVar2 = 0xd" identifier = number_literal) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4" identifier = (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" statement_identifier : (expression_statement "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" (call_expression "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1)" identifier (argument_list "(iVar11,iVar19,iVar15,uVar2,1)" ( identifier , identifier , identifier , identifier , number_literal ))) ;)) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" else (compound_statement "{\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" { (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier = (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" identifier (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" ( (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" * (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" ( (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" * (pointer_expression "*(int **)(iVar15 + 0x18)" * (cast_expression "(int **)(iVar15 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) + number_literal) )))) )))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" identifier = (pointer_expression "*(code **)(puVar26 + 0x7353c)" * (cast_expression "(code **)(puVar26 + 0x7353c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x7353c)" ( (binary_expression "puVar26 + 0x7353c" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar27)(piVar20[0xf]);" (call_expression "(*pcVar27)(piVar20[0xf])" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(piVar20[0xf])" ( (subscript_expression "piVar20[0xf]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" identifier = (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" ( (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" identifier (argument_list "(piVar20[0x2e],&pppcStack_98,1)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (pointer_expression "&pppcStack_98" & identifier) , number_literal ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" identifier (argument_list "(piVar20[0x2e],piVar20[0x12])" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (subscript_expression "piVar20[0x12]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5494" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar20[1] = 4;" (assignment_expression "piVar20[1] = 4" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00040220:\n          *piVar20 = 0x2917;" statement_identifier : (expression_statement "*piVar20 = 0x2917;" (assignment_expression "*piVar20 = 0x2917" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) })))) }))) }) (else_clause "else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" else (compound_statement "{\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" { (expression_statement "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);" (assignment_expression "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4)" identifier = (pointer_expression "*(code ******)(puVar26 + 0x72fb4)" * (cast_expression "(code ******)(puVar26 + 0x72fb4)" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) ))))) ;) (expression_statement "piVar20[1] = 6;" (assignment_expression "piVar20[1] = 6" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 4;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 4" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" * (cast_expression "(undefined4 *)(iVar11 + 0x188)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x188)" ( (binary_expression "iVar11 + 0x188" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" identifier = (call_expression "FUN_0003b04c(0x32)" identifier (argument_list "(0x32)" ( number_literal )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" * (cast_expression "(undefined4 *)(iVar11 + 0x250)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x250)" ( (binary_expression "iVar11 + 0x250" identifier + number_literal) ))))) ;) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" identifier (argument_list "(iVar19,uVar2)" ( identifier , identifier ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" identifier (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" identifier (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "pppppcVar23 + 0x13d9" identifier + number_literal) ))) ;) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" identifier (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" ( (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) , (binary_expression "pppppcVar23 + 0x13d9" identifier + number_literal) ))) ;) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" identifier (argument_list "(iVar11,piVar20[0x2e])" ( identifier , (subscript_expression "piVar20[0x2e]" identifier [ number_literal ]) ))) ;) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" ( (pointer_expression "**(code **)(puVar26 + 0x73038)" * (pointer_expression "*(code **)(puVar26 + 0x73038)" * (cast_expression "(code **)(puVar26 + 0x73038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x73038)" ( (binary_expression "puVar26 + 0x73038" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" * (cast_expression "(undefined4 *)(iVar11 + 0x110)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x110)" ( (binary_expression "iVar11 + 0x110" identifier + number_literal) )))) , (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53ec" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" * (cast_expression "(int *)(puVar26 + 0x72fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x72fb4)" ( (binary_expression "puVar26 + 0x72fb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004072c:\n    *piVar20 = 0x284b;" statement_identifier : (expression_statement "*piVar20 = 0x284b;" (assignment_expression "*piVar20 = 0x284b" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) }))) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) (labeled_statement "LAB_0003fb80:\n  *piVar20 = 0x25a0;" statement_identifier : (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" * identifier) = number_literal) ;)) (goto_statement "goto LAB_0003fd3c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * 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 * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) == (pointer_expression * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))))) ))) )) || (parenthesized_expression ( (comma_expression (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , (subscript_expression IDENT [ LIT ]) )))) , (binary_expression IDENT != 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_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 *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 * (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 ]) , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 , (binary_expression IDENT + LIT) , (binary_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 (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT = (subscript_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 (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 ]) , (binary_expression IDENT + LIT) ))) ;) })) (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 (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (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 ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (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 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 + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT - IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) ))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ;) (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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (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 ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT = (subscript_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ]) = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT = (subscript_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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) + (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (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 * (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (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 ]) = (binary_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 + (subscript_expression IDENT [ LIT ])) )))) = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (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 + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (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 (subscript_expression IDENT [ LIT ]) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (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 ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (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 *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = LIT) ;) (expression_statement (assignment_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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , IDENT , (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) }))) (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) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_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 IDENT (argument_list ( IDENT , (subscript_expression IDENT [ 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )) (goto_statement goto statement_identifier ;)) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (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) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ;) }) (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) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (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 ]) = (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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 ;) })) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (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) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (pointer_expression * (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) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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 LIT < IDENT) )) (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 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 + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (char_literal ' escape_sequence '))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) ;) (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 ( IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 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 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 ( IDENT , LIT , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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 ])) ;) (goto_statement goto statement_identifier ;) })) (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 ]) ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 ( (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + IDENT) )))) + LIT) )))) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) , (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence '))) ))) )) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (while_statement while (parenthesized_expression ( BOOL )) (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 IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (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 ( IDENT , IDENT ))) ;) (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 IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (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 ( IDENT , IDENT ))) ;) (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 ]) ))) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) ))))) + LIT) )))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (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 == LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement 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 IDENT = (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) ;) (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) ;) (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) ;) (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) ;) (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) ;) (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) ;) (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) ;) (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) ;) (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) ;) (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 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_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 = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_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) )))) = (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (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) , 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 ( (subscript_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 * (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 ]) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < 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 IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression & IDENT) )))) ;) (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 = (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) ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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) , 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 ( (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (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 ( IDENT ))) ;) }) (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 IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (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) , 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 ( (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (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 ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))))) })) (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 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 (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (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 ( (binary_expression IDENT + LIT) , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (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) , IDENT ))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) && (parenthesized_expression ( (comma_expression (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 ( (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (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) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (subscript_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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) })) })) }) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (pointer_expression * IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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) ))))) ;) }) while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + LIT) ))) ;) (labeled_statement statement_identifier : (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (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) )))) = 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 (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 ( (pointer_expression * (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) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) ))))) + 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 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & LIT) )) != 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (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 ( IDENT ))) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto 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 (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + IDENT)) )) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (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 ]) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 IDENT + LIT) )))) == LIT) )) (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 ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = (binary_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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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 (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 ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (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 * IDENT) = 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement 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 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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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) )))) = (binary_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) )))) = (binary_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) )))) = (binary_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) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 (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 , 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 ( ))) ;) })) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_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 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , LIT )))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_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 (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) , (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (binary_expression IDENT == (char_literal ' escape_sequence ')))) ))) )) (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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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) ))))) ;) (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 IDENT != LIT) )) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (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) ))))) ;) (goto_statement goto 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , 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 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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_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) ))))) ;) (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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_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) ;) (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 ( (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_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 ( (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (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) )))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (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 (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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 = (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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 = (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 (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (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) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 IDENT = (subscript_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 (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (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) )))) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 == IDENT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) 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 : (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 (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 ( (pointer_expression * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (labeled_statement statement_identifier : (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( IDENT , LIT , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( (pointer_expression * (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) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT )))) ;) (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 ( IDENT , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto 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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( IDENT , IDENT , IDENT ))))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( 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 IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression IDENT (argument_list ( LIT , (field_expression IDENT . field_identifier) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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 (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_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 ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (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) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (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)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (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 ( IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + IDENT) , (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) + IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT ))))) ;) (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 ]) , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (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 = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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 IDENT = (pointer_expression * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (subscript_expression IDENT [ LIT ]))) ;) (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 IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , 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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , LIT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (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) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) })))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (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 (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) }))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "void ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" (primitive_type "void") (function_declarator "ssh_send_port_open(int *param_1,undefined *param_2,code *****param_3)" (identifier "ssh_send_port_open") (parameter_list "(int *param_1,undefined *param_2,code *****param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined *param_2" (type_identifier "undefined") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "code *****param_3" (type_identifier "code") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))))))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined4 *puVar3;\n  code ****ppppcVar4;\n  int *piVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  char *pcVar9;\n  code *****pppppcVar10;\n  int iVar11;\n  undefined1 *puVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  undefined4 uVar16;\n  code *****pppppcVar17;\n  int iVar18;\n  int iVar19;\n  int *piVar20;\n  int *piVar21;\n  bool bVar22;\n  code *****pppppcVar23;\n  code *****pppppcVar24;\n  code *****unaff_s5;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  undefined4 uStack_ac;\n  undefined4 uStack_a8;\n  undefined1 auStack_a4 [4];\n  int iStack_a0;\n  int iStack_9c;\n  code ***pppcStack_98;\n  code ****ppppcStack_94;\n  code ****ppppcStack_90;\n  undefined4 uStack_8c;\n  code ***pppcStack_88;\n  int iStack_84;\n  int iStack_80;\n  int *piStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  code ****ppppcStack_70;\n  code ****ppppcStack_6c;\n  undefined4 local_28;\n  int local_24;\n  \n  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;\n  iVar19 = *param_1;\n  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;\n  pppppcVar24 = param_3;\n  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);\n  iVar11 = iVar19;\n  if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }\n  if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }\n  puVar26 = PTR___stack_chk_fail_000b2ed8;\n  (*(code *)PTR___stack_chk_fail_000b2ed8)();\n  piVar21 = *(int **)(puVar26 + 0x73b10);\n  piVar20 = *(int **)(iVar11 + 0x1d0);\n  puStack_74 = (undefined *)pppppcVar23;\n  iStack_84 = *piVar21;\n  iStack_80 = iVar19;\n  piStack_7c = param_1;\n  puStack_78 = param_2;\n  ppppcStack_70 = (code ****)param_3;\n  ppppcStack_6c = (code ****)unaff_s5;\n  if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }\n  piVar20 = (int *)safemalloc(1,0xe8);\n  *(int **)(iVar11 + 0x1d0) = piVar20;\n  *piVar20 = 0;\n  iVar15 = *(int *)(puVar26 + 0x73504);\n  pppppcVar24 = param_3;\nLAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);\n  iVar15 = iVar15 + 0xae0;\n  *(int *)(iVar11 + 0x288) = iVar15;\n  *(int *)(iVar11 + 0x338) = iVar15;\n  *(int *)(iVar11 + 0x33c) = iVar15;\n  *(int *)(iVar11 + 0x340) = iVar15;\n  *(int *)(iVar11 + 0x344) = iVar15;\n  *(int *)(iVar11 + 0x360) = iVar15;\n  *(int *)(iVar11 + 0x364) = iVar15;\n  *(int *)(iVar11 + 0x3b0) = iVar15;\n  *(int *)(iVar11 + 0x3b4) = iVar15;\n  *(int *)(iVar11 + 0x3b8) = iVar15;\n  *(int *)(iVar11 + 0x3d8) = iVar15;\n  *(int *)(iVar11 + 0x3dc) = iVar15;\n  *(int *)(iVar11 + 0x3e0) = iVar15;\n  *(int *)(iVar11 + 0x3e4) = iVar15;\n  *(int *)(iVar11 + 1000) = iVar15;\n  *(int *)(iVar11 + 0x3ec) = iVar15;\n  *(int *)(iVar11 + 0x3f0) = iVar15;\n  *(int *)(iVar11 + 0x3f4) = iVar15;\n  piVar20[2] = 0;\n  piVar20[0xe] = 0;\n  piVar20[0xd] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0xb] = 0;\n  if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }\nLAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);\n  iVar19 = piVar20[0xd];\n  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;\n  piVar20[0x14] = 0;\n  if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }\n  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n  pcVar27 = *(code **)(puVar26 + 0x73554);\n  piVar20[0x2f] = iVar19;\n  iVar19 = (*pcVar27)(iVar19);\n  if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\n  pcVar27 = *(code **)(puVar26 + 0x73040);\n  piVar20[0x21] = 0;\n  piVar20[0x1c] = 0;\n  piVar20[0x1f] = 0;\n  iVar19 = (*pcVar27)(uVar2,0x1c);\n  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);\n  piVar20[0x1a] = 1;\n  *(undefined1 *)(piVar20 + 0x1b) = 0xb;\n  iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n  *(int *)(iVar11 + 0x6d0) = iVar19;\n  if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }\nLAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;\n  piVar20[0x1c] = (int)ppppcStack_90;\n  if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }\n  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);\nLAB_0003fc30:\n  piVar20[0x13] = 0;\n  if (piVar20[0xd] != 0) goto LAB_0003fe38;\n  uVar2 = *(undefined4 *)(iVar11 + 0x248);\nLAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);\n  *(int *)(iVar11 + 0x250) = iVar19;\n  if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }\nLAB_0003fc6c:\n  piVar20[0x13] = 1;\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  iVar19 = FUN_0003b04c(0x32);\n  uVar2 = *(undefined4 *)(iVar11 + 0x250);\n  piVar20[0x2e] = iVar19;\n  FUN_0003b23c(iVar19,uVar2);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);\n  FUN_000463f8(iVar11,piVar20[0x2e]);\n  piVar20[1] = 0;\n  piVar20[3] = 0;\n  piVar20[0xd] = 0;\n  piVar20[8] = 0;\n  piVar20[0xc] = 0;\n  piVar20[9] = 0;\n  if (piVar20[0x1c] == 0) goto LAB_0003fb80;\n  if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }\nLAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }\n  (**(code **)(puVar26 + 0x73ae4))();\nLAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);\n  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);\n  iVar19 = piVar20[3];\nLAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;\n  ppppcStack_90 = (code ****)0x0;\n  if (iVar19 == 0) goto LAB_0003fb80;\nLAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;\n  ppppcStack_94 = (code ****)0x0;\nLAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);\n  iVar19 = bufchain_size(pppppcVar23);\n  if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }\n  bufchain_clear(pppppcVar23);\n  ppppcVar4 = pppppcVar24[2];\n  if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }\n  if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }\n  iVar19 = piVar20[5];\n  *(undefined4 *)(iVar11 + 0x188) = 0;\n  if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }\n  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }\n  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }\n  goto LAB_0003fd3c;\nLAB_0003fb80:\n  *piVar20 = 0x25a0;\n  goto LAB_0003fd3c;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code ****ppppcVar4;" (type_identifier "code") (pointer_declarator "****ppppcVar4" (* "*") (pointer_declarator "***ppppcVar4" (* "*") (pointer_declarator "**ppppcVar4" (* "*") (pointer_declarator "*ppppcVar4" (* "*") (identifier "ppppcVar4"))))) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *****pppppcVar10;" (type_identifier "code") (pointer_declarator "*****pppppcVar10" (* "*") (pointer_declarator "****pppppcVar10" (* "*") (pointer_declarator "***pppppcVar10" (* "*") (pointer_declarator "**pppppcVar10" (* "*") (pointer_declarator "*pppppcVar10" (* "*") (identifier "pppppcVar10")))))) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "code *****pppppcVar17;" (type_identifier "code") (pointer_declarator "*****pppppcVar17" (* "*") (pointer_declarator "****pppppcVar17" (* "*") (pointer_declarator "***pppppcVar17" (* "*") (pointer_declarator "**pppppcVar17" (* "*") (pointer_declarator "*pppppcVar17" (* "*") (identifier "pppppcVar17")))))) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "code *****pppppcVar23;" (type_identifier "code") (pointer_declarator "*****pppppcVar23" (* "*") (pointer_declarator "****pppppcVar23" (* "*") (pointer_declarator "***pppppcVar23" (* "*") (pointer_declarator "**pppppcVar23" (* "*") (pointer_declarator "*pppppcVar23" (* "*") (identifier "pppppcVar23")))))) (; ";")) (declaration "code *****pppppcVar24;" (type_identifier "code") (pointer_declarator "*****pppppcVar24" (* "*") (pointer_declarator "****pppppcVar24" (* "*") (pointer_declarator "***pppppcVar24" (* "*") (pointer_declarator "**pppppcVar24" (* "*") (pointer_declarator "*pppppcVar24" (* "*") (identifier "pppppcVar24")))))) (; ";")) (declaration "code *****unaff_s5;" (type_identifier "code") (pointer_declarator "*****unaff_s5" (* "*") (pointer_declarator "****unaff_s5" (* "*") (pointer_declarator "***unaff_s5" (* "*") (pointer_declarator "**unaff_s5" (* "*") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")))))) (; ";")) (declaration "char *pcVar25;" (primitive_type "char") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "undefined4 uStack_ac;" (type_identifier "undefined4") (identifier "uStack_ac") (; ";")) (declaration "undefined4 uStack_a8;" (type_identifier "undefined4") (identifier "uStack_a8") (; ";")) (declaration "undefined1 auStack_a4 [4];" (type_identifier "undefined1") (array_declarator "auStack_a4 [4]" (identifier "auStack_a4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iStack_a0;" (primitive_type "int") (identifier "iStack_a0") (; ";")) (declaration "int iStack_9c;" (primitive_type "int") (identifier "iStack_9c") (; ";")) (declaration "code ***pppcStack_98;" (type_identifier "code") (pointer_declarator "***pppcStack_98" (* "*") (pointer_declarator "**pppcStack_98" (* "*") (pointer_declarator "*pppcStack_98" (* "*") (identifier "pppcStack_98")))) (; ";")) (declaration "code ****ppppcStack_94;" (type_identifier "code") (pointer_declarator "****ppppcStack_94" (* "*") (pointer_declarator "***ppppcStack_94" (* "*") (pointer_declarator "**ppppcStack_94" (* "*") (pointer_declarator "*ppppcStack_94" (* "*") (identifier "ppppcStack_94"))))) (; ";")) (declaration "code ****ppppcStack_90;" (type_identifier "code") (pointer_declarator "****ppppcStack_90" (* "*") (pointer_declarator "***ppppcStack_90" (* "*") (pointer_declarator "**ppppcStack_90" (* "*") (pointer_declarator "*ppppcStack_90" (* "*") (identifier "ppppcStack_90"))))) (; ";")) (declaration "undefined4 uStack_8c;" (type_identifier "undefined4") (identifier "uStack_8c") (; ";")) (declaration "code ***pppcStack_88;" (type_identifier "code") (pointer_declarator "***pppcStack_88" (* "*") (pointer_declarator "**pppcStack_88" (* "*") (pointer_declarator "*pppcStack_88" (* "*") (identifier "pppcStack_88")))) (; ";")) (declaration "int iStack_84;" (primitive_type "int") (identifier "iStack_84") (; ";")) (declaration "int iStack_80;" (primitive_type "int") (identifier "iStack_80") (; ";")) (declaration "int *piStack_7c;" (primitive_type "int") (pointer_declarator "*piStack_7c" (* "*") (identifier "piStack_7c")) (; ";")) (declaration "undefined *puStack_78;" (type_identifier "undefined") (pointer_declarator "*puStack_78" (* "*") (identifier "puStack_78")) (; ";")) (declaration "undefined *puStack_74;" (type_identifier "undefined") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "code ****ppppcStack_70;" (type_identifier "code") (pointer_declarator "****ppppcStack_70" (* "*") (pointer_declarator "***ppppcStack_70" (* "*") (pointer_declarator "**ppppcStack_70" (* "*") (pointer_declarator "*ppppcStack_70" (* "*") (identifier "ppppcStack_70"))))) (; ";")) (declaration "code ****ppppcStack_6c;" (type_identifier "code") (pointer_declarator "****ppppcStack_6c" (* "*") (pointer_declarator "***ppppcStack_6c" (* "*") (pointer_declarator "**ppppcStack_6c" (* "*") (pointer_declarator "*ppppcStack_6c" (* "*") (identifier "ppppcStack_6c"))))) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;" (assignment_expression "pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)PTR___stack_chk_guard_000b2f04" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR___stack_chk_guard_000b2f04"))) (; ";")) (expression_statement "iVar19 = *param_1;" (assignment_expression "iVar19 = *param_1" (identifier "iVar19") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_000b2f04;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_000b2f04" (identifier "local_24") (= "=") (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 "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" (identifier "pppppcVar24") (= "=") (identifier "param_3")) (; ";")) (expression_statement "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);" (call_expression "FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" (identifier "FUN_00036ce8") (argument_list "(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2)" (( "(") (identifier "iVar19") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4ba4" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4ba4")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar11 = iVar19;" (assignment_expression "iVar11 = iVar19" (identifier "iVar11") (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x198) == 1) {\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }\n  else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x198) == 1)" (( "(") (binary_expression "*(int *)(iVar19 + 0x198) == 1" (pointer_expression "*(int *)(iVar19 + 0x198)" (* "*") (cast_expression "(int *)(iVar19 + 0x198)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x198)" (( "(") (binary_expression "iVar19 + 0x198" (identifier "iVar19") (+ "+") (number_literal "0x198")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    iVar15 = 1;\n    pppppcVar24 = (code *****)param_1[2];\n    FUN_000494d4(iVar19,0x1d);\n  }" ({ "{") (expression_statement "iVar15 = 1;" (assignment_expression "iVar15 = 1" (identifier "iVar15") (= "=") (number_literal "1")) (; ";")) (expression_statement "pppppcVar24 = (code *****)param_1[2];" (assignment_expression "pppppcVar24 = (code *****)param_1[2]" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)param_1[2]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "FUN_000494d4(iVar19,0x1d);" (call_expression "FUN_000494d4(iVar19,0x1d)" (identifier "FUN_000494d4") (argument_list "(iVar19,0x1d)" (( "(") (identifier "iVar19") (, ",") (number_literal "0x1d") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" (else "else") (compound_statement "{\n    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);\n    unaff_s5 = (code *****)host_strduptrim(param_2);\n    param_2 = PTR_LAB_000b2894 + -0x4dc4;\n    FUN_0003b23c(param_1,unaff_s5);\n    safefree(unaff_s5);\n    FUN_0003b1cc(param_1,param_3);\n    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);\n    iVar15 = 4;\n    local_28 = 0;\n    FUN_0003aef4(param_1,&local_28);\n    FUN_000463f8(iVar19,param_1);\n  }" ({ "{") (expression_statement "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);" (assignment_expression "param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" (identifier "param_1") (= "=") (cast_expression "(int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003c284(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" (identifier "FUN_0003c284") (argument_list "(param_1 + 2,param_1 + 0xd,\n                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) (, ",") (binary_expression "param_1 + 0xd" (identifier "param_1") (+ "+") (number_literal "0xd")) (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bc8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4bc8")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = (code *****)host_strduptrim(param_2);" (assignment_expression "unaff_s5 = (code *****)host_strduptrim(param_2)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)host_strduptrim(param_2)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "host_strduptrim(param_2)" (identifier "host_strduptrim") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "param_2 = PTR_LAB_000b2894 + -0x4dc4;" (assignment_expression "param_2 = PTR_LAB_000b2894 + -0x4dc4" (identifier "param_2") (= "=") (binary_expression "PTR_LAB_000b2894 + -0x4dc4" (identifier "PTR_LAB_000b2894") (+ "+") (number_literal "-0x4dc4"))) (; ";")) (expression_statement "FUN_0003b23c(param_1,unaff_s5);" (call_expression "FUN_0003b23c(param_1,unaff_s5)" (identifier "FUN_0003b23c") (argument_list "(param_1,unaff_s5)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s5") () ")"))) (; ";")) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" (identifier "safefree") (argument_list "(unaff_s5)" (( "(") (identifier "unaff_s5") () ")"))) (; ";")) (expression_statement "FUN_0003b1cc(param_1,param_3);" (call_expression "FUN_0003b1cc(param_1,param_3)" (identifier "FUN_0003b1cc") (argument_list "(param_1,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);" (call_expression "FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" (identifier "FUN_0003b23c") (argument_list "(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_acket_from_server___s_000b23a8 + 0x4bd8" (identifier "PTR_s_acket_from_server___s_000b23a8") (+ "+") (number_literal "0x4bd8")) () ")"))) (; ";")) (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" (identifier "iVar15") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0003aef4(param_1,&local_28);" (call_expression "FUN_0003aef4(param_1,&local_28)" (identifier "FUN_0003aef4") (argument_list "(param_1,&local_28)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar19,param_1);" (call_expression "FUN_000463f8(iVar19,param_1)" (identifier "FUN_000463f8") (argument_list "(iVar19,param_1)" (( "(") (identifier "iVar19") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))) (if_statement "if ((code ****)local_24 == *pppppcVar23) {\n    return;\n  }" (if "if") (parenthesized_expression "((code ****)local_24 == *pppppcVar23)" (( "(") (binary_expression "(code ****)local_24 == *pppppcVar23" (cast_expression "(code ****)local_24" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "local_24")) (== "==") (pointer_expression "*pppppcVar23" (* "*") (identifier "pppppcVar23"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar26 = PTR___stack_chk_fail_000b2ed8;" (assignment_expression "puVar26 = PTR___stack_chk_fail_000b2ed8" (identifier "puVar26") (= "=") (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 "piVar21 = *(int **)(puVar26 + 0x73b10);" (assignment_expression "piVar21 = *(int **)(puVar26 + 0x73b10)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(puVar26 + 0x73b10)" (* "*") (cast_expression "(int **)(puVar26 + 0x73b10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b10)" (( "(") (binary_expression "puVar26 + 0x73b10" (identifier "puVar26") (+ "+") (number_literal "0x73b10")) () ")"))))) (; ";")) (expression_statement "piVar20 = *(int **)(iVar11 + 0x1d0);" (assignment_expression "piVar20 = *(int **)(iVar11 + 0x1d0)" (identifier "piVar20") (= "=") (pointer_expression "*(int **)(iVar11 + 0x1d0)" (* "*") (cast_expression "(int **)(iVar11 + 0x1d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x1d0)" (( "(") (binary_expression "iVar11 + 0x1d0" (identifier "iVar11") (+ "+") (number_literal "0x1d0")) () ")"))))) (; ";")) (expression_statement "puStack_74 = (undefined *)pppppcVar23;" (assignment_expression "puStack_74 = (undefined *)pppppcVar23" (identifier "puStack_74") (= "=") (cast_expression "(undefined *)pppppcVar23" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppcVar23"))) (; ";")) (expression_statement "iStack_84 = *piVar21;" (assignment_expression "iStack_84 = *piVar21" (identifier "iStack_84") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iStack_80 = iVar19;" (assignment_expression "iStack_80 = iVar19" (identifier "iStack_80") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piStack_7c = param_1;" (assignment_expression "piStack_7c = param_1" (identifier "piStack_7c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_78 = param_2;" (assignment_expression "puStack_78 = param_2" (identifier "puStack_78") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppcStack_70 = (code ****)param_3;" (assignment_expression "ppppcStack_70 = (code ****)param_3" (identifier "ppppcStack_70") (= "=") (cast_expression "(code ****)param_3" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "ppppcStack_6c = (code ****)unaff_s5;" (assignment_expression "ppppcStack_6c = (code ****)unaff_s5" (identifier "ppppcStack_6c") (= "=") (cast_expression "(code ****)unaff_s5" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s5"))) (; ";")) (if_statement "if (piVar20 != (int *)0x0) {\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" (if "if") (parenthesized_expression "(piVar20 != (int *)0x0)" (( "(") (binary_expression "piVar20 != (int *)0x0" (identifier "piVar20") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar19 = *piVar20;\n    if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }\n    if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }\n    if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }\n    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);\n    puVar3[1] = uVar2;\n    pppppcVar17 = (code *****)ppppcStack_94;\n    if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }\n    pppppcVar23 = (code *****)piVar20[0xf];\n    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;\n    iVar15 = piVar20[0xf];\n    pppppcVar23[3] = ppppcVar4;\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    *(undefined4 *)(iVar15 + 0x10) = 1;\n    uVar2 = dupstr(iVar19 + 0x54b8);\n    add_prompt(iVar15,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);\n    add_prompt(iVar19,uVar2,0);\n    iVar19 = piVar20[0xf];\n    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);\n    add_prompt(iVar19,uVar2,0);\n    while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);\n    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));\n    free_prompts(piVar20[0xf]);\n    FUN_0004c528(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);\nLAB_0003f784:\n    *piVar20 = 0x2999;\n    goto LAB_0003fd3c;\n  }" ({ "{") (expression_statement "iVar19 = *piVar20;" (assignment_expression "iVar19 = *piVar20" (identifier "iVar19") (= "=") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) (; ";")) (if_statement "if (iVar19 == 0x27b6) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" (if "if") (parenthesized_expression "(iVar19 == 0x27b6)" (( "(") (binary_expression "iVar19 == 0x27b6" (identifier "iVar19") (== "==") (number_literal "0x27b6")) () ")")) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;\n      if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n      piVar20[0x35] = (int)ppppcStack_94;\n      piVar20[0x34] = (int)pppcStack_98;\n      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);\n      piVar20[0x39] = iVar19;\n      if (iVar19 != 0) goto LAB_00042b98;\n      piVar20[0x34] = 0;\n      piVar20[0x35] = 0;\n      piVar20[0x36] = 0;\n      piVar20[0x37] = 0;\n      pppppcVar23 = (code *****)piVar20[0x30];\nLAB_0004138c:\n      iVar19 = piVar20[0x38];\n      unaff_s5 = (code *****)pppppcVar23[5];\n      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);\n      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);\n      piVar20[0x39] = uVar8;\n      if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }\nLAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }\nLAB_00040d18:\n      iVar19 = piVar20[0x30];\nLAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);\n      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);\n      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);\n      iVar19 = piVar20[3];\n      goto LAB_0003fb74;\n    }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003fae0;" (goto "goto") (statement_identifier "LAB_0003fae0") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5270" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5270")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" (identifier "FUN_00037704") (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) () ")"))) (; ";")) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" (identifier "piVar20") ([ "[") (number_literal "0x35") (] "]")) (= "=") (cast_expression "(int)ppppcStack_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_94"))) (; ";")) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" (identifier "piVar20") ([ "[") (number_literal "0x34") (] "]")) (= "=") (cast_expression "(int)pppcStack_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppcStack_98"))) (; ";")) (if_statement "if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" (if "if") (parenthesized_expression "(((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0))" (( "(") (binary_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||\n         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" (parenthesized_expression "((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)))" (( "(") (binary_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)) ||\n          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" (parenthesized_expression "(((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6))" (( "(") (binary_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||\n           (*(code *)ppppcStack_94 != (code)0x6)" (parenthesized_expression "((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U))" (( "(") (binary_expression "(code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)" (cast_expression "(code ****)pppcStack_98" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppcStack_98")) (!= "!=") (cast_expression "(code ****)(piVar20[0x32] + 2U)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(piVar20[0x32] + 2U)" (( "(") (binary_expression "piVar20[0x32] + 2U" (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]")) (+ "+") (number_literal "2U")) () ")")))) () ")")) (|| "||") (parenthesized_expression "(*(code *)ppppcStack_94 != (code)0x6)" (( "(") (binary_expression "*(code *)ppppcStack_94 != (code)0x6" (pointer_expression "*(code *)ppppcStack_94" (* "*") (cast_expression "(code *)ppppcStack_94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppcStack_94"))) (!= "!=") (cast_expression "(code)0x6" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x6"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))" (( "(") (binary_expression "piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1)" (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]")) (!= "!=") (cast_expression "(int)(char)*(code *)((int)ppppcStack_94 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(code *)((int)ppppcStack_94 + 1)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)((int)ppppcStack_94 + 1)" (* "*") (cast_expression "(code *)((int)ppppcStack_94 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppcStack_94 + 1)" (( "(") (binary_expression "(int)ppppcStack_94 + 1" (cast_expression "(int)ppppcStack_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_94")) (+ "+") (number_literal "1")) () ")"))))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0)" (( "(") (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),\n         iVar19 != 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73af8)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73af8)" (* "*") (cast_expression "(code **)(puVar26 + 0x73af8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73af8)" (( "(") (binary_expression "puVar26 + 0x73af8" (identifier "puVar26") (+ "+") (number_literal "0x73af8")) () ")"))))) () ")")) (argument_list "((code *)((int)ppppcStack_94 + 2),piVar20[0x33])" (( "(") (cast_expression "(code *)((int)ppppcStack_94 + 2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppcStack_94 + 2)" (( "(") (binary_expression "(int)ppppcStack_94 + 2" (cast_expression "(int)ppppcStack_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_94")) (+ "+") (number_literal "2")) () ")"))) (, ",") (subscript_expression "piVar20[0x33]" (identifier "piVar20") ([ "[") (number_literal "0x33") (] "]")) () ")")))) (, ",") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5298" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5298")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(piVar20 + 0x38)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(piVar20 + 0x38)" (( "(") (binary_expression "piVar20 + 0x38" (identifier "piVar20") (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(piVar20[0x30] + 0xc))\n                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0xc))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0xc)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0xc)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0xc)" (( "(") (binary_expression "piVar20[0x30] + 0xc" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x6a4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x6a4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6a4)" (( "(") (binary_expression "iVar11 + 0x6a4" (identifier "iVar11") (+ "+") (number_literal "0x6a4")) () ")")))) (, ",") (identifier "pppppcVar23") () ")")))) (; ";")) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" ({ "{") (if_statement "if (iVar19 == 3) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" (if "if") (parenthesized_expression "(iVar19 == 3)" (( "(") (binary_expression "iVar19 == 3" (identifier "iVar19") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);\n          iVar19 = piVar20[3];\n          goto LAB_0003fb74;\n        }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x52cc")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x52fc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x52fc")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x1c))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x1c)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x1c)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x1c)" (( "(") (binary_expression "piVar20[0x30] + 0x1c" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x1c")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],piVar20 + 0x31)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (binary_expression "piVar20 + 0x31" (identifier "piVar20") (+ "+") (number_literal "0x31")) () ")")))) (; ";")) (expression_statement "piVar20[0x39] = iVar19;" (assignment_expression "piVar20[0x39] = iVar19" (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) goto LAB_00042b98;" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00042b98;" (goto "goto") (statement_identifier "LAB_00042b98") (; ";"))) (expression_statement "piVar20[0x34] = 0;" (assignment_expression "piVar20[0x34] = 0" (subscript_expression "piVar20[0x34]" (identifier "piVar20") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x35] = 0;" (assignment_expression "piVar20[0x35] = 0" (subscript_expression "piVar20[0x35]" (identifier "piVar20") ([ "[") (number_literal "0x35") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x36] = 0;" (assignment_expression "piVar20[0x36] = 0" (subscript_expression "piVar20[0x36]" (identifier "piVar20") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x37] = 0;" (assignment_expression "piVar20[0x37] = 0" (subscript_expression "piVar20[0x37]" (identifier "piVar20") ([ "[") (number_literal "0x37") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0x30]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (labeled_statement "LAB_0004138c:\n      iVar19 = piVar20[0x38];" (statement_identifier "LAB_0004138c") (: ":") (expression_statement "iVar19 = piVar20[0x38];" (assignment_expression "iVar19 = piVar20[0x38]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x38]" (identifier "piVar20") ([ "[") (number_literal "0x38") (] "]"))) (; ";"))) (expression_statement "unaff_s5 = (code *****)pppppcVar23[5];" (assignment_expression "unaff_s5 = (code *****)pppppcVar23[5]" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)pppppcVar23[5]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "pppppcVar23[5]" (identifier "pppppcVar23") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x28)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x28") () ")")))) (; ";")) (expression_statement "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36);" (assignment_expression "uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" (identifier "uVar8") (= "=") (call_expression "(*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" (parenthesized_expression "(*(code *)unaff_s5)" (( "(") (pointer_expression "*(code *)unaff_s5" (* "*") (cast_expression "(code *)unaff_s5" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s5"))) () ")")) (argument_list "(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,\n                                  piVar20 + 0x36)" (( "(") (identifier "pppppcVar23") (, ",") (binary_expression "piVar20 + 0x31" (identifier "piVar20") (+ "+") (number_literal "0x31")) (, ",") (identifier "iVar19") (, ",") (identifier "uVar2") (, ",") (binary_expression "piVar20 + 0x34" (identifier "piVar20") (+ "+") (number_literal "0x34")) (, ",") (binary_expression "piVar20 + 0x36" (identifier "piVar20") (+ "+") (number_literal "0x36")) () ")")))) (; ";")) (expression_statement "piVar20[0x39] = uVar8;" (assignment_expression "piVar20[0x39] = uVar8" (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (uVar8 < 2) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }\n      else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" (if "if") (parenthesized_expression "(uVar8 < 2)" (( "(") (binary_expression "uVar8 < 2" (identifier "uVar8") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);\n        if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }\n        iVar19 = piVar20[0x39];\n        if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5374" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5374")) () ")"))) (; ";")) (if_statement "if (piVar20[0x36] != 0) {\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" (if "if") (parenthesized_expression "(piVar20[0x36] != 0)" (( "(") (binary_expression "piVar20[0x36] != 0" (subscript_expression "piVar20[0x36]" (identifier "piVar20") ([ "[") (number_literal "0x36") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);\n          piVar20[0x2e] = (int)pppppcVar23;\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);\n          iVar6 = piVar20[0x36];\n          iVar15 = piVar20[0x37];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23[6] = *pppppcVar23;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          FUN_000463f8(iVar11,piVar20[0x2e]);\n          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);\n        }" ({ "{") (expression_statement "pppppcVar23 = (code *****)FUN_0003b04c(0x3d);" (assignment_expression "pppppcVar23 = (code *****)FUN_0003b04c(0x3d)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)FUN_0003b04c(0x3d)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "FUN_0003b04c(0x3d)" (identifier "FUN_0003b04c") (argument_list "(0x3d)" (( "(") (number_literal "0x3d") () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = (int)pppppcVar23;" (assignment_expression "piVar20[0x2e] = (int)pppppcVar23" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23"))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(pppppcVar23,&pppcStack_88,4);" (call_expression "FUN_0003aef4(pppppcVar23,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(pppppcVar23,&pppcStack_88,4)" (( "(") (identifier "pppppcVar23") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar6 = piVar20[0x36];" (assignment_expression "iVar6 = piVar20[0x36]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x36]" (identifier "piVar20") ([ "[") (number_literal "0x36") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar20[0x37];" (assignment_expression "iVar15 = piVar20[0x37]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x37]" (identifier "piVar20") ([ "[") (number_literal "0x37") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "pppppcVar23[6] = *pppppcVar23;" (assignment_expression "pppppcVar23[6] = *pppppcVar23" (subscript_expression "pppppcVar23[6]" (identifier "pppppcVar23") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*pppppcVar23" (* "*") (identifier "pppppcVar23"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);" (call_expression "(**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x18))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x18)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x18)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x18)" (( "(") (binary_expression "piVar20[0x30] + 0x18" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],piVar20 + 0x36)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (binary_expression "piVar20 + 0x36" (identifier "piVar20") (+ "+") (number_literal "0x36")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]"))) (; ";")) (if_statement "if (iVar19 == 1) {\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" (if "if") (parenthesized_expression "(iVar19 == 1)" (( "(") (binary_expression "iVar19 == 1" (identifier "iVar19") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00042310:\n          *piVar20 = 0x2807;\n          goto LAB_0003fd3c;\n        }" ({ "{") (labeled_statement "LAB_00042310:\n          *piVar20 = 0x2807;" (statement_identifier "LAB_00042310") (: ":") (expression_statement "*piVar20 = 0x2807;" (assignment_expression "*piVar20 = 0x2807" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2807")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" (else "else") (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);\n        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);\n        if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }\n        iVar19 = piVar20[0x39];\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5348" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5348")) () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);" (assignment_expression "iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x2c))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x2c)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x2c)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x2c)" (( "(") (binary_expression "piVar20[0x30] + 0x2c" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (subscript_expression "piVar20[0x31]" (identifier "piVar20") ([ "[") (number_literal "0x31") (] "]")) (, ",") (binary_expression "piVar20 + 0x32" (identifier "piVar20") (+ "+") (number_literal "0x32")) () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);\n          safefree(piVar20[0x33]);\n        }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33])" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (subscript_expression "piVar20[0x33]" (identifier "piVar20") ([ "[") (number_literal "0x33") (] "]")) () ")"))) (; ";")) (expression_statement "safefree(piVar20[0x33]);" (call_expression "safefree(piVar20[0x33])" (identifier "safefree") (argument_list "(piVar20[0x33])" (( "(") (subscript_expression "piVar20[0x33]" (identifier "piVar20") ([ "[") (number_literal "0x33") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]"))) (; ";")) (} "}")))) (labeled_statement "LAB_00041414:\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" (statement_identifier "LAB_00041414") (: ":") (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);\n        iVar15 = *(int *)(puVar26 + 0x734a0);\n        piVar5 = (int *)FUN_0003b04c(0);\n        iVar6 = *piVar5;\n        piVar20[0x2e] = (int)piVar5;\n        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(piVar5,&pppcStack_88,4);\n        uVar2 = *(undefined4 *)(iVar11 + 0xe4);\n        iVar19 = piVar20[0x2e];\n        iVar18 = *(int *)(puVar26 + 0x734a0);\n        piVar5[6] = *piVar5;\n        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);\n        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);\n        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);\n        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        iVar19 = *(int *)piVar20[0x2e];\n        pcVar27 = *(code **)(piVar20[0x30] + 0x24);\n        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;\n        piVar20[0x32] = iVar19 - iVar6;\n        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);\n        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);\n        piVar20[0x2e] = (int)puVar3;\n        pppcStack_88 = (code ***)0x0;\n        FUN_0003aef4(puVar3,&pppcStack_88,4);\n        iVar19 = piVar20[0x2e];\n        puVar3[6] = *puVar3;\n        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);\n        iVar19 = piVar20[0x30];\n        piVar20[3] = 0;\n        goto LAB_00040d20;\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x53c4")) () ")"))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x734a0)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")"))))) (; ";")) (expression_statement "piVar5 = (int *)FUN_0003b04c(0);" (assignment_expression "piVar5 = (int *)FUN_0003b04c(0)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_0003b04c(0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b04c(0)" (identifier "FUN_0003b04c") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" (identifier "iVar6") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "piVar20[0x2e] = (int)piVar5;" (assignment_expression "piVar20[0x2e] = (int)piVar5" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5"))) (; ";")) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x510c")) () ")")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(piVar5,&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar5,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(piVar5,&pppcStack_88,4)" (( "(") (identifier "piVar5") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0xe4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")"))))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "iVar18 = *(int *)(puVar26 + 0x734a0);" (assignment_expression "iVar18 = *(int *)(puVar26 + 0x734a0)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")"))))) (; ";")) (expression_statement "piVar5[6] = *piVar5;" (assignment_expression "piVar5[6] = *piVar5" (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);" (call_expression "FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar11 + 0xa4,uVar2)" (( "(") (identifier "iVar19") (, ",") (binary_expression "iVar11 + 0xa4" (identifier "iVar11") (+ "+") (number_literal "0xa4")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)CONCAT13(0x32,ppppcStack_90._1_3_)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "CONCAT13(0x32,ppppcStack_90._1_3_)" (identifier "CONCAT13") (argument_list "(0x32,ppppcStack_90._1_3_)" (( "(") (number_literal "0x32") (, ",") (field_expression "ppppcStack_90._1_3_" (identifier "ppppcStack_90") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&ppppcStack_90,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250))" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50bc")) () ")"))) (; ";")) (expression_statement "iVar19 = *(int *)piVar20[0x2e];" (assignment_expression "iVar19 = *(int *)piVar20[0x2e]" (identifier "iVar19") (= "=") (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(piVar20[0x30] + 0x24);" (assignment_expression "pcVar27 = *(code **)(piVar20[0x30] + 0x24)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(piVar20[0x30] + 0x24)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x24)" (( "(") (binary_expression "piVar20[0x30] + 0x24" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;" (assignment_expression "piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "piVar20[0x33]" (identifier "piVar20") ([ "[") (number_literal "0x33") (] "]")) (= "=") (binary_expression "((int *)piVar20[0x2e])[4] + iVar6" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" (( "(") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) () ")")) ([ "[") (number_literal "4") (] "]")) (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "piVar20[0x32] = iVar19 - iVar6;" (assignment_expression "piVar20[0x32] = iVar19 - iVar6" (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]")) (= "=") (binary_expression "iVar19 - iVar6" (identifier "iVar19") (- "-") (identifier "iVar6"))) (; ";")) (expression_statement "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);" (call_expression "(*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (subscript_expression "piVar20[0x31]" (identifier "piVar20") ([ "[") (number_literal "0x31") (] "]")) (, ",") (binary_expression "piVar20 + 0x32" (identifier "piVar20") (+ "+") (number_literal "0x32")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);" (assignment_expression "puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(iVar15 + -0x4fb4))(0x42)" (parenthesized_expression "(*(code *)(iVar15 + -0x4fb4))" (( "(") (pointer_expression "*(code *)(iVar15 + -0x4fb4)" (* "*") (cast_expression "(code *)(iVar15 + -0x4fb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + -0x4fb4)" (( "(") (binary_expression "iVar15 + -0x4fb4" (identifier "iVar15") (+ "+") (number_literal "-0x4fb4")) () ")")))) () ")")) (argument_list "(0x42)" (( "(") (number_literal "0x42") () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = (int)puVar3;" (assignment_expression "piVar20[0x2e] = (int)puVar3" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,&pppcStack_88,4)" (( "(") (identifier "puVar3") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);" (call_expression "(*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90)" (parenthesized_expression "(*(code *)(iVar18 + -0x4edc))" (( "(") (pointer_expression "*(code *)(iVar18 + -0x4edc)" (* "*") (cast_expression "(code *)(iVar18 + -0x4edc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -0x4edc)" (( "(") (binary_expression "iVar18 + -0x4edc" (identifier "iVar18") (+ "+") (number_literal "-0x4edc")) () ")")))) () ")")) (argument_list "(iVar19,uStack_8c,ppppcStack_90)" (( "(") (identifier "iVar19") (, ",") (identifier "uStack_8c") (, ",") (identifier "ppppcStack_90") () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);" (call_expression "(**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x28))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x28)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x28)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x28)" (( "(") (binary_expression "piVar20[0x30] + 0x28" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],&ppppcStack_90)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]"))) (; ";")) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00040d20;" (goto "goto") (statement_identifier "LAB_00040d20") (; ";")) (} "}")))) (labeled_statement "LAB_00040d18:\n      iVar19 = piVar20[0x30];" (statement_identifier "LAB_00040d18") (: ":") (expression_statement "iVar19 = piVar20[0x30];" (assignment_expression "iVar19 = piVar20[0x30]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]"))) (; ";"))) (labeled_statement "LAB_00040d20:\n      pppppcVar23 = (code *****)(piVar20 + 0x38);" (statement_identifier "LAB_00040d20") (: ":") (expression_statement "pppppcVar23 = (code *****)(piVar20 + 0x38);" (assignment_expression "pppppcVar23 = (code *****)(piVar20 + 0x38)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(piVar20 + 0x38)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(piVar20 + 0x38)" (( "(") (binary_expression "piVar20 + 0x38" (identifier "piVar20") (+ "+") (number_literal "0x38")) () ")")))) (; ";"))) (expression_statement "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);" (call_expression "(**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38)" (parenthesized_expression "(**(code **)(iVar19 + 0x10))" (( "(") (pointer_expression "**(code **)(iVar19 + 0x10)" (* "*") (pointer_expression "*(code **)(iVar19 + 0x10)" (* "*") (cast_expression "(code **)(iVar19 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + 0x10)" (( "(") (binary_expression "iVar19 + 0x10" (identifier "iVar19") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(iVar19,piVar20 + 0x38)" (( "(") (identifier "iVar19") (, ",") (binary_expression "piVar20 + 0x38" (identifier "piVar20") (+ "+") (number_literal "0x38")) () ")"))) (; ";")) (expression_statement "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);" (call_expression "(**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x20))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x20)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x20)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x20)" (( "(") (binary_expression "piVar20[0x30] + 0x20" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],piVar20 + 0x31)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (binary_expression "piVar20 + 0x31" (identifier "piVar20") (+ "+") (number_literal "0x31")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (if_statement "if (iVar19 < 0x27b7) {\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" (if "if") (parenthesized_expression "(iVar19 < 0x27b7)" (( "(") (binary_expression "iVar19 < 0x27b7" (identifier "iVar19") (< "<") (number_literal "0x27b7")) () ")")) (compound_statement "{\n      if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }\n      if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }\n      if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }\n      if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }\n      if (iVar19 != 0x24d9) goto LAB_0003fd38;\n      if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }\n      if (0 < iVar15) goto LAB_00040ffc;\n      ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n      piVar20[0x1e] = *(int *)(iVar11 + 600);\n      goto LAB_0003fbf0;\n    }" ({ "{") (if_statement "if (iVar19 == 0x2561) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0x2561)" (( "(") (binary_expression "iVar19 == 0x2561" (identifier "iVar19") (== "==") (number_literal "0x2561")) () ")")) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_00040ca4;\n      }" ({ "{") (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *piVar20 = 0x2561;\n          goto LAB_0003fd3c;\n        }" ({ "{") (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2561")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00040ca4;" (goto "goto") (statement_identifier "LAB_00040ca4") (; ";")) (} "}"))) (if_statement "if (0x2561 < iVar19) {\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" (if "if") (parenthesized_expression "(0x2561 < iVar19)" (( "(") (binary_expression "0x2561 < iVar19" (number_literal "0x2561") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n        if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }\n        piVar20[0x2d] = (int)ppppcStack_90;\n        safefree(piVar20[0x2c]);\n        iVar19 = piVar20[0x2d];\n        if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }\n        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }\n        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);\n        goto LAB_00040050;\n      }" ({ "{") (if_statement "if (iVar19 == 0x2696) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }\n        else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" (if "if") (parenthesized_expression "(iVar19 == 0x2696)" (( "(") (binary_expression "iVar19 == 0x2696" (identifier "iVar19") (== "==") (number_literal "0x2696")) () ")")) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4);\n          if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }\n          if (0 < iVar15) goto LAB_00041768;\n          ppppcStack_90 = *(code *****)(iVar11 + 0x254);\n          piVar20[0x29] = *(int *)(iVar11 + 600);\n        }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (pppppcVar24 != (code *****)0x0) {\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);\n            goto LAB_00040050;\n          }" ({ "{") (labeled_statement "LAB_00040040:\n            uVar2 = dupprintf(iVar19 + 0x4d34);" (statement_identifier "LAB_00040040") (: ":") (expression_statement "uVar2 = dupprintf(iVar19 + 0x4d34);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x4d34)" (identifier "uVar2") (= "=") (call_expression "dupprintf(iVar19 + 0x4d34)" (identifier "dupprintf") (argument_list "(iVar19 + 0x4d34)" (( "(") (binary_expression "iVar19 + 0x4d34" (identifier "iVar19") (+ "+") (number_literal "0x4d34")) () ")")))) (; ";"))) (goto_statement "goto LAB_00040050;" (goto "goto") (statement_identifier "LAB_00040050") (; ";")) (} "}"))) (if_statement "if (0 < iVar15) goto LAB_00041768;" (if "if") (parenthesized_expression "(0 < iVar15)" (( "(") (binary_expression "0 < iVar15" (number_literal "0") (< "<") (identifier "iVar15")) () ")")) (goto_statement "goto LAB_00041768;" (goto "goto") (statement_identifier "LAB_00041768") (; ";"))) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" (identifier "ppppcStack_90") (= "=") (pointer_expression "*(code *****)(iVar11 + 0x254)" (* "*") (cast_expression "(code *****)(iVar11 + 0x254)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar11 + 0x254)" (( "(") (binary_expression "iVar11 + 0x254" (identifier "iVar11") (+ "+") (number_literal "0x254")) () ")"))))) (; ";")) (expression_statement "piVar20[0x29] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x29] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x29]" (identifier "piVar20") ([ "[") (number_literal "0x29") (] "]")) (= "=") (pointer_expression "*(int *)(iVar11 + 600)" (* "*") (cast_expression "(int *)(iVar11 + 600)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 600)" (( "(") (binary_expression "iVar11 + 600" (identifier "iVar11") (+ "+") (number_literal "600")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" (else "else") (compound_statement "{\n          if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }\n          if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }\n          if (iVar19 != 0x2650) goto LAB_0003fd38;\n          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;\n          if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }\n          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }\n          unaff_s5 = &ppppcStack_90;\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar6 = piVar20[0x26];\n          iVar15 = piVar20[0x23];\n          iVar19 = piVar20[0x2e];\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          puVar3 = (undefined4 *)piVar20[0x2e];\n          pppcStack_88 = (code ***)0x0;\n          FUN_0003aef4(puVar3,&pppcStack_88,4);\n          iVar15 = piVar20[0x22];\n          iVar19 = piVar20[0x2e];\n          iVar6 = piVar20[0x25];\n          puVar3[6] = *puVar3;\n          FUN_0003b124(iVar19,iVar15,iVar6);\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n          piVar20[0x28] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }\n          pcVar27 = *(code **)(puVar26 + 0x73014);\n          iVar19 = piVar20[0x25] + 5 + iVar19;\n          piVar20[0x2a] = iVar19 + 4;\n          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);\n          piVar20[0x2c] = (int)puVar7;\n          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);\n          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);\n          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];\n          piVar20[0x2b] = piVar20[0x2c] + 5;\n          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;\n          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + 4;\n          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);\n          iVar19 = piVar20[0x2b];\n          piVar20[0x2b] = iVar19 + piVar20[0x25];\n          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);\n          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);\n          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];\n          iVar15 = piVar20[0x2b];\n          uVar8 = *(uint *)(iVar11 + 0x50);\n          iVar19 = iVar15 + 4;\n          piVar20[0x2b] = iVar19;\n          if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }\n          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n          iVar6 = *(int *)piVar20[0x2e];\n          iVar15 = ((int *)piVar20[0x2e])[4];\n          pcVar27 = *(code **)(puVar26 + 0x73b14);\n          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);\n          piVar20[0x2b] = iVar19;\n          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);\n          pcVar27 = *(code **)(puVar26 + 0x73030);\n          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);\n          piVar20[0x2b] = (int)puVar7;\n          *puVar7 = 0;\n          *(undefined1 *)(piVar20[0x2b] + 1) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 2) = 0;\n          *(undefined1 *)(piVar20[0x2b] + 3) = 0;\n          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);\n          *(int *)(iVar11 + 0x6d0) = iVar19;\n          if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }\n        }" ({ "{") (if_statement "if (0x2696 < iVar19) {\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" (if "if") (parenthesized_expression "(0x2696 < iVar19)" (( "(") (binary_expression "0x2696 < iVar19" (number_literal "0x2696") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n            if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }\n            if (iVar19 != 0x2703) goto LAB_0003fd38;\n            if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }\n            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n            *(undefined4 *)(iVar11 + 0x100) = 0;\n            goto LAB_00040240;\n          }" ({ "{") (if_statement "if (iVar19 == 0x26df) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" (if "if") (parenthesized_expression "(iVar19 == 0x26df)" (( "(") (binary_expression "iVar19 == 0x26df" (identifier "iVar19") (== "==") (number_literal "0x26df")) () ")")) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;\n              if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }\n              piVar20[3] = 1;\n              piVar20[1] = 2;\n              goto LAB_0003f824;\n            }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00041ab0;" (goto "goto") (statement_identifier "LAB_00041ab0") (; ";"))) (if_statement "if (pppppcVar24[2] == (code ****)0x3c) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" (if "if") (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] == (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);\n                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;\n                iVar19 = iVar11 + 0x110;\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n                unaff_s5 = (code *****)piVar20[0x19];\n                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);\n                FUN_0003a5ac(iVar19,unaff_s5,uVar2);\n                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);\n                goto LAB_00041ae8;\n              }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x516c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x516c")) () ")"))) (; ";")) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;" (if "if") (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) == 0)" (( "(") (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) == 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" (( "(") (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" (* "*") (pointer_expression "*(uint **)(puVar26 + 0x730a8)" (* "*") (cast_expression "(uint **)(puVar26 + 0x730a8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x730a8)" (( "(") (binary_expression "puVar26 + 0x730a8" (identifier "puVar26") (+ "+") (number_literal "0x730a8")) () ")"))))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00041ae8;" (goto "goto") (statement_identifier "LAB_00041ae8") (; ";"))) (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" (identifier "iVar19") (= "=") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" (identifier "FUN_0003a5ac") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50e4")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "unaff_s5 = (code *****)piVar20[0x19];" (assignment_expression "unaff_s5 = (code *****)piVar20[0x19]" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)piVar20[0x19]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0x19]" (identifier "piVar20") ([ "[") (number_literal "0x19") (] "]")))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(unaff_s5)" (( "(") (identifier "unaff_s5") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(iVar19,unaff_s5,uVar2)" (identifier "FUN_0003a5ac") (argument_list "(iVar19,unaff_s5,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "unaff_s5") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" (identifier "FUN_0003a5ac") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x518c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x518c")) (, ",") (number_literal "3") () ")"))) (; ";")) (goto_statement "goto LAB_00041ae8;" (goto "goto") (statement_identifier "LAB_00041ae8") (; ";")) (} "}"))) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[1] = 2;" (assignment_expression "piVar20[1] = 2" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0003f824;" (goto "goto") (statement_identifier "LAB_0003f824") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0x2703) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x2703)" (( "(") (binary_expression "iVar19 != 0x2703" (identifier "iVar19") (!= "!=") (number_literal "0x2703")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *piVar20 = 0x2703;\n              goto LAB_0003fd3c;\n            }" ({ "{") (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2703")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00040240;" (goto "goto") (statement_identifier "LAB_00040240") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x25a0) {\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" (if "if") (parenthesized_expression "(iVar19 == 0x25a0)" (( "(") (binary_expression "iVar19 == 0x25a0" (identifier "iVar19") (== "==") (number_literal "0x25a0")) () ")")) (compound_statement "{\n            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;\n            *piVar20 = 0x25a0;\n            goto LAB_0003fd3c;\n          }" ({ "{") (if_statement "if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003f828;" (goto "goto") (statement_identifier "LAB_0003f828") (; ";"))) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x25a0")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0x2650) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x2650)" (( "(") (binary_expression "iVar19 != 0x2650" (identifier "iVar19") (!= "!=") (number_literal "0x2650")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00040908;" (goto "goto") (statement_identifier "LAB_00040908") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\n            piVar20[3] = 1;\n            goto LAB_0003fb5c;\n          }" ({ "{") (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003fb5c;" (goto "goto") (statement_identifier "LAB_0003fb5c") (; ";")) (} "}"))) (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" (if "if") (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 1) != 0)" (( "(") (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 1) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 1)" (( "(") (binary_expression "**(uint **)(puVar26 + 0x730a8) & 1" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" (* "*") (pointer_expression "*(uint **)(puVar26 + 0x730a8)" (* "*") (cast_expression "(uint **)(puVar26 + 0x730a8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x730a8)" (( "(") (binary_expression "puVar26 + 0x730a8" (identifier "puVar26") (+ "+") (number_literal "0x730a8")) () ")"))))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar19 = iVar11 + 0x110;\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);\n            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);\n            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);\n          }" ({ "{") (expression_statement "iVar19 = iVar11 + 0x110;" (assignment_expression "iVar19 = iVar11 + 0x110" (identifier "iVar19") (= "=") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" (identifier "FUN_0003a5ac") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50e4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50e4")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);" (call_expression "FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27])" (identifier "FUN_0003a5ac") (argument_list "(iVar19,piVar20[0x24],piVar20[0x27])" (( "(") (identifier "iVar19") (, ",") (subscript_expression "piVar20[0x24]" (identifier "piVar20") ([ "[") (number_literal "0x24") (] "]")) (, ",") (subscript_expression "piVar20[0x27]" (identifier "piVar20") ([ "[") (number_literal "0x27") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);" (call_expression "FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" (identifier "FUN_0003a5ac") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5108" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5108")) (, ",") (number_literal "0xe") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" (identifier "unaff_s5") (= "=") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5098")) () ")"))) (; ";")) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" (identifier "CONCAT13") (argument_list "(1,ppppcStack_90._1_3_)" (( "(") (number_literal "1") (, ",") (field_expression "ppppcStack_90._1_3_" (identifier "ppppcStack_90") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],unaff_s5,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],unaff_s5,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],unaff_s5,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (identifier "unaff_s5") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)piVar20[0x2e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,&pppcStack_88,4)" (( "(") (identifier "puVar3") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x26]" (identifier "piVar20") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x23]" (identifier "piVar20") ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4edc)" (( "(") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4edc" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x4edc")) () ")")))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)piVar20[0x2e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,&pppcStack_88,4)" (( "(") (identifier "puVar3") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar11 + 0x50)" (* "*") (cast_expression "(uint *)(iVar11 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (identifier "iVar19") (= "=") (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (+ "+") (number_literal "-1")) (+ "+") (pointer_expression "*(int *)(iVar11 + 0xe4)" (* "*") (cast_expression "(int *)(iVar11 + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "piVar20[0x28] = iVar19;" (assignment_expression "piVar20[0x28] = iVar19" (subscript_expression "piVar20[0x28]" (identifier "piVar20") ([ "[") (number_literal "0x28") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if ((uVar8 & 0x80) == 0) {\n            iVar19 = iVar19 + 4;\n          }\n          else {\n            piVar20[0x28] = iVar19 + -4;\n          }" (if "if") (parenthesized_expression "((uVar8 & 0x80) == 0)" (( "(") (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" (( "(") (binary_expression "uVar8 & 0x80" (identifier "uVar8") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar19 = iVar19 + 4;\n          }" ({ "{") (expression_statement "iVar19 = iVar19 + 4;" (assignment_expression "iVar19 = iVar19 + 4" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n            piVar20[0x28] = iVar19 + -4;\n          }" (else "else") (compound_statement "{\n            piVar20[0x28] = iVar19 + -4;\n          }" ({ "{") (expression_statement "piVar20[0x28] = iVar19 + -4;" (assignment_expression "piVar20[0x28] = iVar19 + -4" (subscript_expression "piVar20[0x28]" (identifier "piVar20") ([ "[") (number_literal "0x28") (] "]")) (= "=") (binary_expression "iVar19 + -4" (identifier "iVar19") (+ "+") (number_literal "-4"))) (; ";")) (} "}")))) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73014);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73014)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73014)" (* "*") (cast_expression "(code **)(puVar26 + 0x73014)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73014)" (( "(") (binary_expression "puVar26 + 0x73014" (identifier "puVar26") (+ "+") (number_literal "0x73014")) () ")"))))) (; ";")) (expression_statement "iVar19 = piVar20[0x25] + 5 + iVar19;" (assignment_expression "iVar19 = piVar20[0x25] + 5 + iVar19" (identifier "iVar19") (= "=") (binary_expression "piVar20[0x25] + 5 + iVar19" (binary_expression "piVar20[0x25] + 5" (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")) (+ "+") (number_literal "5")) (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "piVar20[0x2a] = iVar19 + 4;" (assignment_expression "piVar20[0x2a] = iVar19 + 4" (subscript_expression "piVar20[0x2a]" (identifier "piVar20") ([ "[") (number_literal "0x2a") (] "]")) (= "=") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);" (assignment_expression "puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)(*pcVar27)(iVar19 + 8,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar27)(iVar19 + 8,1)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19 + 8,1)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "piVar20[0x2c] = (int)puVar7;" (assignment_expression "piVar20[0x2c] = (int)puVar7" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (= "=") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (; ";")) (expression_statement "*puVar7 = *(undefined1 *)(piVar20 + 0x2a);" (assignment_expression "*puVar7 = *(undefined1 *)(piVar20 + 0x2a)" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (pointer_expression "*(undefined1 *)(piVar20 + 0x2a)" (* "*") (cast_expression "(undefined1 *)(piVar20 + 0x2a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x2a)" (( "(") (binary_expression "piVar20 + 0x2a" (identifier "piVar20") (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73b14)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b14)" (( "(") (binary_expression "puVar26 + 0x73b14" (identifier "puVar26") (+ "+") (number_literal "0x73b14")) () ")"))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);" (assignment_expression "*(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a)" (pointer_expression "*(char *)(piVar20[0x2c] + 1)" (* "*") (cast_expression "(char *)(piVar20[0x2c] + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2c] + 1)" (( "(") (binary_expression "piVar20[0x2c] + 1" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(char)*(undefined2 *)(piVar20 + 0x2a)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined2 *)(piVar20 + 0x2a)" (* "*") (cast_expression "(undefined2 *)(piVar20 + 0x2a)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x2a)" (( "(") (binary_expression "piVar20 + 0x2a" (identifier "piVar20") (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);" (assignment_expression "*(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8)" (pointer_expression "*(char *)(piVar20[0x2c] + 2)" (* "*") (cast_expression "(char *)(piVar20[0x2c] + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2c] + 2)" (( "(") (binary_expression "piVar20[0x2c] + 2" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(char)((uint)piVar20[0x2a] >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)piVar20[0x2a] >> 8)" (( "(") (binary_expression "(uint)piVar20[0x2a] >> 8" (cast_expression "(uint)piVar20[0x2a]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar20[0x2a]" (identifier "piVar20") ([ "[") (number_literal "0x2a") (] "]"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];" (assignment_expression "*(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a]" (pointer_expression "*(char *)(piVar20[0x2c] + 3)" (* "*") (cast_expression "(char *)(piVar20[0x2c] + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2c] + 3)" (( "(") (binary_expression "piVar20[0x2c] + 3" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (number_literal "3")) () ")")))) (= "=") (cast_expression "(char)piVar20[0x2a]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar20[0x2a]" (identifier "piVar20") ([ "[") (number_literal "0x2a") (] "]")))) (; ";")) (expression_statement "piVar20[0x2b] = piVar20[0x2c] + 5;" (assignment_expression "piVar20[0x2b] = piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (binary_expression "piVar20[0x2c] + 5" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (number_literal "5"))) (; ";")) (expression_statement "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd;" (assignment_expression "*(undefined1 *)(piVar20[0x2c] + 4) = 0xd" (pointer_expression "*(undefined1 *)(piVar20[0x2c] + 4)" (* "*") (cast_expression "(undefined1 *)(piVar20[0x2c] + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2c] + 4)" (( "(") (binary_expression "piVar20[0x2c] + 4" (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0xd")) (; ";")) (expression_statement "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);" (assignment_expression "*(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25)" (pointer_expression "*(undefined1 *)piVar20[0x2b]" (* "*") (cast_expression "(undefined1 *)piVar20[0x2b]" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")))) (= "=") (pointer_expression "*(undefined1 *)(piVar20 + 0x25)" (* "*") (cast_expression "(undefined1 *)(piVar20 + 0x25)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x25)" (( "(") (binary_expression "piVar20 + 0x25" (identifier "piVar20") (+ "+") (number_literal "0x25")) () ")"))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 1)" (( "(") (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(char)*(undefined2 *)(piVar20 + 0x25)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined2 *)(piVar20 + 0x25)" (* "*") (cast_expression "(undefined2 *)(piVar20 + 0x25)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x25)" (( "(") (binary_expression "piVar20 + 0x25" (identifier "piVar20") (+ "+") (number_literal "0x25")) () ")")))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 2)" (( "(") (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(char)((uint)piVar20[0x25] >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)piVar20[0x25] >> 8)" (( "(") (binary_expression "(uint)piVar20[0x25] >> 8" (cast_expression "(uint)piVar20[0x25]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 3)" (( "(") (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "3")) () ")")))) (= "=") (cast_expression "(char)piVar20[0x25]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")))) (; ";")) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (expression_statement "piVar20[0x2b] = iVar19 + 4;" (assignment_expression "piVar20[0x2b] = iVar19 + 4" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);" (call_expression "(*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25])" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19 + 4,piVar20[0x22],piVar20[0x25])" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) (, ",") (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]")) (, ",") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2b];" (assignment_expression "iVar19 = piVar20[0x2b]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (expression_statement "piVar20[0x2b] = iVar19 + piVar20[0x25];" (assignment_expression "piVar20[0x2b] = iVar19 + piVar20[0x25]" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (binary_expression "iVar19 + piVar20[0x25]" (identifier "iVar19") (+ "+") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")))) (; ";")) (expression_statement "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);" (assignment_expression "*(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28)" (pointer_expression "*(undefined1 *)(iVar19 + piVar20[0x25])" (* "*") (cast_expression "(undefined1 *)(iVar19 + piVar20[0x25])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + piVar20[0x25])" (( "(") (binary_expression "iVar19 + piVar20[0x25]" (identifier "iVar19") (+ "+") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]"))) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(piVar20 + 0x28)" (* "*") (cast_expression "(undefined1 *)(piVar20 + 0x28)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x28)" (( "(") (binary_expression "piVar20 + 0x28" (identifier "piVar20") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 1)" (( "(") (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(char)*(undefined2 *)(piVar20 + 0x28)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined2 *)(piVar20 + 0x28)" (* "*") (cast_expression "(undefined2 *)(piVar20 + 0x28)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x28)" (( "(") (binary_expression "piVar20 + 0x28" (identifier "piVar20") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 2)" (( "(") (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(char)((uint)piVar20[0x28] >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)piVar20[0x28] >> 8)" (( "(") (binary_expression "(uint)piVar20[0x28] >> 8" (cast_expression "(uint)piVar20[0x28]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar20[0x28]" (identifier "piVar20") ([ "[") (number_literal "0x28") (] "]"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28]" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 3)" (( "(") (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "3")) () ")")))) (= "=") (cast_expression "(char)piVar20[0x28]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar20[0x28]" (identifier "piVar20") ([ "[") (number_literal "0x28") (] "]")))) (; ";")) (expression_statement "iVar15 = piVar20[0x2b];" (assignment_expression "iVar15 = piVar20[0x2b]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]"))) (; ";")) (expression_statement "uVar8 = *(uint *)(iVar11 + 0x50);" (assignment_expression "uVar8 = *(uint *)(iVar11 + 0x50)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar11 + 0x50)" (* "*") (cast_expression "(uint *)(iVar11 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "iVar19 = iVar15 + 4;" (assignment_expression "iVar19 = iVar15 + 4" (identifier "iVar19") (= "=") (binary_expression "iVar15 + 4" (identifier "iVar15") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if ((uVar8 & 0x80) == 0) {\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" (if "if") (parenthesized_expression "((uVar8 & 0x80) == 0)" (( "(") (binary_expression "(uVar8 & 0x80) == 0" (parenthesized_expression "(uVar8 & 0x80)" (( "(") (binary_expression "uVar8 & 0x80" (identifier "uVar8") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);\n            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);\n            iVar19 = piVar20[0x2b] + 4;\n            piVar20[0x2b] = iVar19;\n          }" ({ "{") (expression_statement "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*(undefined1 *)(iVar15 + 4)" (* "*") (cast_expression "(undefined1 *)(iVar15 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 4)" (( "(") (binary_expression "iVar15 + 4" (identifier "iVar15") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined1 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")"))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 1)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 1)" (( "(") (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "1")) () ")")))) (= "=") (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined2 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "*(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (pointer_expression "*(char *)(piVar20[0x2b] + 2)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 2)" (( "(") (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (( "(") (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "*(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4)" (pointer_expression "*(char *)(piVar20[0x2b] + 3)" (* "*") (cast_expression "(char *)(piVar20[0x2b] + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 3)" (( "(") (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "3")) () ")")))) (= "=") (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "iVar19 = piVar20[0x2b] + 4;" (assignment_expression "iVar19 = piVar20[0x2b] + 4" (identifier "iVar19") (= "=") (binary_expression "piVar20[0x2b] + 4" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73b14)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73b14)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b14)" (( "(") (binary_expression "puVar26 + 0x73b14" (identifier "puVar26") (+ "+") (number_literal "0x73b14")) () ")"))))) () ")")) (argument_list "(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (( "(") (identifier "iVar19") (, ",") (binary_expression "iVar11 + 0xa4" (identifier "iVar11") (+ "+") (number_literal "0xa4")) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)piVar20[0x2e];" (assignment_expression "iVar6 = *(int *)piVar20[0x2e]" (identifier "iVar6") (= "=") (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))))) (; ";")) (expression_statement "iVar15 = ((int *)piVar20[0x2e])[4];" (assignment_expression "iVar15 = ((int *)piVar20[0x2e])[4]" (identifier "iVar15") (= "=") (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" (( "(") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) () ")")) ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73b14);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73b14)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73b14)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b14)" (( "(") (binary_expression "puVar26 + 0x73b14" (identifier "puVar26") (+ "+") (number_literal "0x73b14")) () ")"))))) (; ";")) (expression_statement "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" (identifier "iVar19") (= "=") (binary_expression "piVar20[0x2b] + *(int *)(iVar11 + 0xe4)" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (pointer_expression "*(int *)(iVar11 + 0xe4)" (* "*") (cast_expression "(int *)(iVar11 + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "piVar20[0x2b] = iVar19;" (assignment_expression "piVar20[0x2b] = iVar19" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);" (call_expression "(*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19,iVar15 + 5,iVar6 + -5)" (( "(") (identifier "iVar19") (, ",") (binary_expression "iVar15 + 5" (identifier "iVar15") (+ "+") (number_literal "5")) (, ",") (binary_expression "iVar6 + -5" (identifier "iVar6") (+ "+") (number_literal "-5")) () ")"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73030);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73030)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73030)" (* "*") (cast_expression "(code **)(puVar26 + 0x73030)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73030)" (( "(") (binary_expression "puVar26 + 0x73030" (identifier "puVar26") (+ "+") (number_literal "0x73030")) () ")"))))) (; ";")) (expression_statement "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);" (assignment_expression "puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5)" (( "(") (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e] + -5" (binary_expression "piVar20[0x2b] + *(int *)piVar20[0x2e]" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))))) (+ "+") (number_literal "-5")) () ")")))) (; ";")) (expression_statement "piVar20[0x2b] = (int)puVar7;" (assignment_expression "piVar20[0x2b] = (int)puVar7" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (= "=") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (; ";")) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 1) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 1) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 1)" (* "*") (cast_expression "(undefined1 *)(piVar20[0x2b] + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 1)" (( "(") (binary_expression "piVar20[0x2b] + 1" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 2) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 2) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 2)" (* "*") (cast_expression "(undefined1 *)(piVar20[0x2b] + 2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 2)" (( "(") (binary_expression "piVar20[0x2b] + 2" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar20[0x2b] + 3) = 0;" (assignment_expression "*(undefined1 *)(piVar20[0x2b] + 3) = 0" (pointer_expression "*(undefined1 *)(piVar20[0x2b] + 3)" (* "*") (cast_expression "(undefined1 *)(piVar20[0x2b] + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2b] + 3)" (( "(") (binary_expression "piVar20[0x2b] + 3" (subscript_expression "piVar20[0x2b]" (identifier "piVar20") ([ "[") (number_literal "0x2b") (] "]")) (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,\n                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (( "(") (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) (, ",") (binary_expression "piVar20[0x2a] + 4" (subscript_expression "piVar20[0x2a]" (identifier "piVar20") ([ "[") (number_literal "0x2a") (] "]")) (+ "+") (number_literal "4")) (, ",") (identifier "unaff_s5") (, ",") (binary_expression "piVar20 + 0x29" (identifier "piVar20") (+ "+") (number_literal "0x29")) (, ",") (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "0xa58")) (, ",") (identifier "iVar11") () ")")))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" (* "*") (cast_expression "(int *)(iVar11 + 0x6d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6d0)" (( "(") (binary_expression "iVar11 + 0x6d0" (identifier "iVar11") (+ "+") (number_literal "0x6d0")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00041768:\n            *piVar20 = 0x2696;\n            goto LAB_0003fd3c;\n          }" ({ "{") (labeled_statement "LAB_00041768:\n            *piVar20 = 0x2696;" (statement_identifier "LAB_00041768") (: ":") (expression_statement "*piVar20 = 0x2696;" (assignment_expression "*piVar20 = 0x2696" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2696")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar20[0x2d] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x2d] = (int)ppppcStack_90" (subscript_expression "piVar20[0x2d]" (identifier "piVar20") ([ "[") (number_literal "0x2d") (] "]")) (= "=") (cast_expression "(int)ppppcStack_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "safefree(piVar20[0x2c]);" (call_expression "safefree(piVar20[0x2c])" (identifier "safefree") (argument_list "(piVar20[0x2c])" (( "(") (subscript_expression "piVar20[0x2c]" (identifier "piVar20") ([ "[") (number_literal "0x2c") (] "]")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2d];" (assignment_expression "iVar19 = piVar20[0x2d]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2d]" (identifier "piVar20") ([ "[") (number_literal "0x2d") (] "]"))) (; ";")) (if_statement "if (iVar19 == 0) {\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }\n          iVar19 = piVar20[3];\n          piVar20[9] = 1;\n          piVar20[8] = 1;\n          goto LAB_0003fb74;\n        }" ({ "{") (labeled_statement "LAB_0003fb5c:\n          if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" (statement_identifier "LAB_0003fb5c") (: ":") (if_statement "if (piVar20[0x1f] == 0) {\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" (if "if") (parenthesized_expression "(piVar20[0x1f] == 0)" (( "(") (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar15 = piVar20[0x20];\n            iVar19 = piVar20[3];\n            piVar20[0x20] = iVar15 + 1;\n            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;\n            piVar20[9] = 1;\n            goto LAB_0003fb74;\n          }" ({ "{") (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x20]" (identifier "piVar20") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar20[0x20] = iVar15 + 1;" (assignment_expression "piVar20[0x20] = iVar15 + 1" (subscript_expression "piVar20[0x20]" (identifier "piVar20") ([ "[") (number_literal "0x20") (] "]")) (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;" (if "if") (parenthesized_expression "(iVar15 + 1 < piVar20[0x21])" (( "(") (binary_expression "iVar15 + 1 < piVar20[0x21]" (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1")) (< "<") (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]"))) () ")")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";"))) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" (identifier "piVar20") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}")))) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "piVar20[9] = 1;" (assignment_expression "piVar20[9] = 1" (subscript_expression "piVar20[9]" (identifier "piVar20") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" (identifier "piVar20") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (if_statement "if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" (if "if") (parenthesized_expression "((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e'))" (( "(") (binary_expression "(piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')" (parenthesized_expression "(piVar20[0x29] < 9)" (( "(") (binary_expression "piVar20[0x29] < 9" (subscript_expression "piVar20[0x29]" (identifier "piVar20") ([ "[") (number_literal "0x29") (] "]")) (< "<") (number_literal "9")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar19 + 4) != '\x0e')" (( "(") (binary_expression "*(char *)(iVar19 + 4) != '\x0e'" (pointer_expression "*(char *)(iVar19 + 4)" (* "*") (cast_expression "(char *)(iVar19 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 4)" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\x0e'" (' "'") (escape_sequence "\x0e") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" (else "else") (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x72fb4);\n          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" (if "if") (parenthesized_expression "(*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U)" (( "(") (binary_expression "*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U" (pointer_expression "*(uint *)(iVar19 + 5)" (* "*") (cast_expression "(uint *)(iVar19 + 5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 5)" (( "(") (binary_expression "iVar19 + 5" (identifier "iVar19") (+ "+") (number_literal "5")) () ")")))) (<= "<=") (binary_expression "piVar20[0x29] - 9U" (subscript_expression "piVar20[0x29]" (identifier "piVar20") ([ "[") (number_literal "0x29") (] "]")) (- "-") (number_literal "9U"))) () ")")) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);\n            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));\n            FUN_000463f8(iVar11,piVar20[0x2e]);\n            piVar20[1] = 1;\n            goto LAB_0003fb5c;\n          }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5118" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5118")) () ")"))) (; ";")) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" (identifier "FUN_0003d9e8") (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],\n                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")")))) (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]")) (, ",") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")) (, ",") (binary_expression "piVar20[0x2d] + 9" (subscript_expression "piVar20[0x2d]" (identifier "piVar20") ([ "[") (number_literal "0x2d") (] "]")) (+ "+") (number_literal "9")) (, ",") (pointer_expression "*(undefined4 *)(piVar20[0x2d] + 5)" (* "*") (cast_expression "(undefined4 *)(piVar20[0x2d] + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0x2d] + 5)" (( "(") (binary_expression "piVar20[0x2d] + 5" (subscript_expression "piVar20[0x2d]" (identifier "piVar20") ([ "[") (number_literal "0x2d") (] "]")) (+ "+") (number_literal "5")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003fb5c;" (goto "goto") (statement_identifier "LAB_0003fb5c") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(iVar15 + 0x5134)" (( "(") (binary_expression "iVar15 + 0x5134" (identifier "iVar15") (+ "+") (number_literal "0x5134")) () ")")))) (; ";")) (goto_statement "goto LAB_00040050;" (goto "goto") (statement_identifier "LAB_00040050") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x246f) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0x246f)" (( "(") (binary_expression "iVar19 == 0x246f" (identifier "iVar19") (== "==") (number_literal "0x246f")) () ")")) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;\n        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;\n        piVar20[2] = 1;\n        goto LAB_0003fe10;\n      }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00042034;" (goto "goto") (statement_identifier "LAB_00042034") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x6" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x6"))) () ")")) (goto_statement "goto LAB_000400a0;" (goto "goto") (statement_identifier "LAB_000400a0") (; ";"))) (expression_statement "piVar20[2] = 1;" (assignment_expression "piVar20[2] = 1" (subscript_expression "piVar20[2]" (identifier "piVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003fe10;" (goto "goto") (statement_identifier "LAB_0003fe10") (; ";")) (} "}"))) (if_statement "if (iVar19 < 0x2470) {\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" (if "if") (parenthesized_expression "(iVar19 < 0x2470)" (( "(") (binary_expression "iVar19 < 0x2470" (identifier "iVar19") (< "<") (number_literal "0x2470")) () ")")) (compound_statement "{\n        iVar15 = *(int *)(puVar26 + 0x73504);\n        if (iVar19 != 0) goto LAB_0003fd38;\n        goto LAB_0003fd9c;\n      }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")"))))) (; ";")) (if_statement "if (iVar19 != 0) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (goto_statement "goto LAB_0003fd9c;" (goto "goto") (statement_identifier "LAB_0003fd9c") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x247a) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0x247a)" (( "(") (binary_expression "iVar19 == 0x247a" (identifier "iVar19") (== "==") (number_literal "0x247a")) () ")")) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;\n        if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }\n        goto LAB_0003fe04;\n      }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000400f8;" (goto "goto") (statement_identifier "LAB_000400f8") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x6) {\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x6)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x6" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x6" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x6"))) () ")")) (compound_statement "{\n          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);\n          goto LAB_00040050;\n        }" ({ "{") (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" (identifier "uVar2") (= "=") (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" (identifier "dupprintf") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c44)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c44" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c44")) () ")")))) (; ";")) (goto_statement "goto LAB_00040050;" (goto "goto") (statement_identifier "LAB_00040050") (; ";")) (} "}"))) (goto_statement "goto LAB_0003fe04;" (goto "goto") (statement_identifier "LAB_0003fe04") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0x24d9) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x24d9)" (( "(") (binary_expression "iVar19 != 0x24d9" (identifier "iVar19") (!= "!=") (number_literal "0x24d9")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        goto LAB_00040040;\n      }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (goto_statement "goto LAB_00040040;" (goto "goto") (statement_identifier "LAB_00040040") (; ";")) (} "}"))) (if_statement "if (0 < iVar15) goto LAB_00040ffc;" (if "if") (parenthesized_expression "(0 < iVar15)" (( "(") (binary_expression "0 < iVar15" (number_literal "0") (< "<") (identifier "iVar15")) () ")")) (goto_statement "goto LAB_00040ffc;" (goto "goto") (statement_identifier "LAB_00040ffc") (; ";"))) (expression_statement "ppppcStack_90 = *(code *****)(iVar11 + 0x254);" (assignment_expression "ppppcStack_90 = *(code *****)(iVar11 + 0x254)" (identifier "ppppcStack_90") (= "=") (pointer_expression "*(code *****)(iVar11 + 0x254)" (* "*") (cast_expression "(code *****)(iVar11 + 0x254)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar11 + 0x254)" (( "(") (binary_expression "iVar11 + 0x254" (identifier "iVar11") (+ "+") (number_literal "0x254")) () ")"))))) (; ";")) (expression_statement "piVar20[0x1e] = *(int *)(iVar11 + 600);" (assignment_expression "piVar20[0x1e] = *(int *)(iVar11 + 600)" (subscript_expression "piVar20[0x1e]" (identifier "piVar20") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (pointer_expression "*(int *)(iVar11 + 600)" (* "*") (cast_expression "(int *)(iVar11 + 600)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 600)" (( "(") (binary_expression "iVar11 + 600" (identifier "iVar11") (+ "+") (number_literal "600")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003fbf0;" (goto "goto") (statement_identifier "LAB_0003fbf0") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x2917) {\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }\n    else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" (if "if") (parenthesized_expression "(iVar19 == 0x2917)" (( "(") (binary_expression "iVar19 == 0x2917" (identifier "iVar19") (== "==") (number_literal "0x2917")) () ")")) (compound_statement "{\n      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;\n      if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;\n    }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00040220;" (goto "goto") (statement_identifier "LAB_00040220") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\nLAB_00040ef0:\n        iVar19 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x73a54);\n        piVar20[3] = 1;\n        uVar2 = (*pcVar27)(iVar19);\n        smemclr(iVar19,uVar2);\n        safefree(piVar20[0x12]);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" ({ "{") (labeled_statement "LAB_00040ef0:\n        iVar19 = piVar20[0x12];" (statement_identifier "LAB_00040ef0") (: ":") (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]"))) (; ";"))) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73a54);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73a54)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) (; ";")) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = (*pcVar27)(iVar19);" (assignment_expression "uVar2 = (*pcVar27)(iVar19)" (identifier "uVar2") (= "=") (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" (identifier "smemclr") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "safefree(piVar20[0x12]);" (call_expression "safefree(piVar20[0x12])" (identifier "safefree") (argument_list "(piVar20[0x12])" (( "(") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c00" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c00"))) (; ";")) (} "}")) (else_clause "else {\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" (else "else") (compound_statement "{\n      if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }\n      if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }\n      if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }\n      if (iVar19 != 0x2999) goto LAB_0003fd38;\n      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;\n      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;\n    }" ({ "{") (if_statement "if (iVar19 < 0x2918) {\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" (if "if") (parenthesized_expression "(iVar19 < 0x2918)" (( "(") (binary_expression "iVar19 < 0x2918" (identifier "iVar19") (< "<") (number_literal "0x2918")) () ")")) (compound_statement "{\n        if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }\n        if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }\n        if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }\n        iVar19 = FUN_0003b04c(0x3d);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b1cc(iVar19,piVar20[0x10]);\n        if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }\n        FUN_0004c528(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\nLAB_00041954:\n        *piVar20 = 0x28ca;\n        goto LAB_0003fd3c;\n      }" ({ "{") (if_statement "if (iVar19 == 0x28a4) {\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }\n        else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" (if "if") (parenthesized_expression "(iVar19 == 0x28a4)" (( "(") (binary_expression "iVar19 == 0x28a4" (identifier "iVar19") (== "==") (number_literal "0x28a4")) () ")")) (compound_statement "{\n          if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n          *(undefined4 *)(iVar11 + 0x100) = 0;\n        }" ({ "{") (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *piVar20 = 0x28a4;\n            goto LAB_0003fd3c;\n          }" ({ "{") (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x28a4")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" (else "else") (compound_statement "{\n          if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }\n          pcVar27 = (code *)(iVar19 + 0x7704);\n          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);\n          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);\n          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);\n          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n          piVar20[0xf] = (int)puVar3;\n          *puVar3 = 1;\n          iVar19 = FUN_00036be8(pppppcVar24);\n          piVar20[0x10] = iVar19;\n          if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }\n          pppppcVar23 = (code *****)piVar20[0xf];\n          if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }\n          if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }\n          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);\n        }" ({ "{") (if_statement "if (iVar19 < 0x28a5) {\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }\n          else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" (if "if") (parenthesized_expression "(iVar19 < 0x28a5)" (( "(") (binary_expression "iVar19 < 0x28a5" (identifier "iVar19") (< "<") (number_literal "0x28a5")) () ")")) (compound_statement "{\n            if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }\n            if (iVar19 != 0x284b) goto LAB_0003fd38;\n            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }\n          }" ({ "{") (if_statement "if (iVar19 == 0x2807) {\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" (if "if") (parenthesized_expression "(iVar19 == 0x2807)" (( "(") (binary_expression "iVar19 == 0x2807" (identifier "iVar19") (== "==") (number_literal "0x2807")) () ")")) (compound_statement "{\n              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;\n              if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }\n              (**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);\n              piVar20[0x39] = 4;\n              goto LAB_00040d18;\n            }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00042310;" (goto "goto") (statement_identifier "LAB_00042310") (; ";"))) (if_statement "if (pppppcVar24[2] == (code ****)0x3d) {\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" (if "if") (parenthesized_expression "(pppppcVar24[2] == (code ****)0x3d)" (( "(") (binary_expression "pppppcVar24[2] == (code ****)0x3d" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(code ****)0x3d" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3d"))) () ")")) (compound_statement "{\n                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);\n                iVar19 = piVar20[0x39];\n                piVar20[0x35] = (int)ppppcStack_94;\n                piVar20[0x34] = (int)pppcStack_98;\n                if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }\n                goto LAB_00041414;\n              }" ({ "{") (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98)" (identifier "FUN_00037704") (argument_list "(pppppcVar24,&ppppcStack_94,&pppcStack_98)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x39];" (assignment_expression "iVar19 = piVar20[0x39]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]"))) (; ";")) (expression_statement "piVar20[0x35] = (int)ppppcStack_94;" (assignment_expression "piVar20[0x35] = (int)ppppcStack_94" (subscript_expression "piVar20[0x35]" (identifier "piVar20") ([ "[") (number_literal "0x35") (] "]")) (= "=") (cast_expression "(int)ppppcStack_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_94"))) (; ";")) (expression_statement "piVar20[0x34] = (int)pppcStack_98;" (assignment_expression "piVar20[0x34] = (int)pppcStack_98" (subscript_expression "piVar20[0x34]" (identifier "piVar20") ([ "[") (number_literal "0x34") (] "]")) (= "=") (cast_expression "(int)pppcStack_98" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppcStack_98"))) (; ";")) (if_statement "if (iVar19 == 1) {\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" (if "if") (parenthesized_expression "(iVar19 == 1)" (( "(") (binary_expression "iVar19 == 1" (identifier "iVar19") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  pppppcVar23 = (code *****)piVar20[0x30];\n                  goto LAB_0004138c;\n                }" ({ "{") (expression_statement "pppppcVar23 = (code *****)piVar20[0x30];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0x30]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0x30]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (goto_statement "goto LAB_0004138c;" (goto "goto") (statement_identifier "LAB_0004138c") (; ";")) (} "}"))) (goto_statement "goto LAB_00041414;" (goto "goto") (statement_identifier "LAB_00041414") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5398" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5398")) () ")"))) (; ";")) (expression_statement "piVar20[0x39] = 4;" (assignment_expression "piVar20[0x39] = 4" (subscript_expression "piVar20[0x39]" (identifier "piVar20") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_00040d18;" (goto "goto") (statement_identifier "LAB_00040d18") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0x284b) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x284b)" (( "(") (binary_expression "iVar19 != 0x284b" (identifier "iVar19") (!= "!=") (number_literal "0x284b")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004072c;" (goto "goto") (statement_identifier "LAB_0004072c") (; ";"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")"))))) (; ";")) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\n              piVar20[3] = 1;\n              piVar20[1] = 7;\n              piVar20[0xc] = 1;\n              goto LAB_0003f824;\n            }" ({ "{") (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[1] = 7;" (assignment_expression "piVar20[1] = 7" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "7")) (; ";")) (expression_statement "piVar20[0xc] = 1;" (assignment_expression "piVar20[0xc] = 1" (subscript_expression "piVar20[0xc]" (identifier "piVar20") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003f824;" (goto "goto") (statement_identifier "LAB_0003f824") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" (else "else") (compound_statement "{\n            if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }\n            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;\n            if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }\n            iVar19 = *(int *)(puVar26 + 0x7336c);\n          }" ({ "{") (if_statement "if (iVar19 != 0x28ca) {\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" (if "if") (parenthesized_expression "(iVar19 != 0x28ca)" (( "(") (binary_expression "iVar19 != 0x28ca" (identifier "iVar19") (!= "!=") (number_literal "0x28ca")) () ")")) (compound_statement "{\n              if (iVar19 != 0x28e8) goto LAB_0003fd38;\n              if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }\n              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n              *(undefined4 *)(iVar11 + 0x100) = 0;\n              goto LAB_00040118;\n            }" ({ "{") (if_statement "if (iVar19 != 0x28e8) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x28e8)" (( "(") (binary_expression "iVar19 != 0x28e8" (identifier "iVar19") (!= "!=") (number_literal "0x28e8")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                *piVar20 = 0x28e8;\n                goto LAB_0003fd3c;\n              }" ({ "{") (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x28e8")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00040118;" (goto "goto") (statement_identifier "LAB_00040118") (; ";")) (} "}"))) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00041954;" (goto "goto") (statement_identifier "LAB_00041954") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) {\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (compound_statement "{\n              piVar20[3] = 1;\n              goto LAB_0003f824;\n            }" ({ "{") (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0003f824;" (goto "goto") (statement_identifier "LAB_0003f824") (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "pcVar27 = (code *)(iVar19 + 0x7704);" (assignment_expression "pcVar27 = (code *)(iVar19 + 0x7704)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(iVar19 + 0x7704)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x7704)" (( "(") (binary_expression "iVar19 + 0x7704" (identifier "iVar19") (+ "+") (number_literal "0x7704")) () ")")))) (; ";")) (expression_statement "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);" (call_expression "FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0)" (identifier "FUN_00037704") (argument_list "(pppppcVar24,&uStack_ac,&iStack_a0)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&uStack_ac" (& "&") (identifier "uStack_ac")) (, ",") (pointer_expression "&iStack_a0" (& "&") (identifier "iStack_a0")) () ")"))) (; ";")) (expression_statement "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);" (call_expression "(*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pppppcVar24,&uStack_a8,&iStack_9c)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&uStack_a8" (& "&") (identifier "uStack_a8")) (, ",") (pointer_expression "&iStack_9c" (& "&") (identifier "iStack_9c")) () ")"))) (; ";")) (expression_statement "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);" (call_expression "(*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pppppcVar24,auStack_a4,&pppcStack_98)" (( "(") (identifier "pppppcVar24") (, ",") (identifier "auStack_a4") (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73530)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73530)" (* "*") (cast_expression "(code **)(puVar26 + 0x73530)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73530)" (( "(") (binary_expression "puVar26 + 0x73530" (identifier "puVar26") (+ "+") (number_literal "0x73530")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" (identifier "iVar19") (= "=") (call_expression "FUN_00036be8(pppppcVar24)" (identifier "FUN_00036be8") (argument_list "(pppppcVar24)" (( "(") (identifier "pppppcVar24") () ")")))) (; ";")) (expression_statement "piVar20[0x10] = iVar19;" (assignment_expression "piVar20[0x10] = iVar19" (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (0 < iVar19) {\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" (if "if") (parenthesized_expression "(0 < iVar19)" (( "(") (binary_expression "0 < iVar19" (number_literal "0") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n            iVar6 = *(int *)(puVar26 + 0x72fa4);\n            iVar15 = 0;\n            unaff_s5 = &ppppcStack_90;\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);\n          }" ({ "{") (expression_statement "iVar6 = *(int *)(puVar26 + 0x72fa4);" (assignment_expression "iVar6 = *(int *)(puVar26 + 0x72fa4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fa4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fa4)" (( "(") (binary_expression "puVar26 + 0x72fa4" (identifier "puVar26") (+ "+") (number_literal "0x72fa4")) () ")"))))) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" (identifier "unaff_s5") (= "=") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (do_statement "do {\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            } while (iVar15 < piVar20[0x10]);" (do "do") (compound_statement "{\n              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);\n              ppppcVar4 = pppppcVar24[6];\n              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }\n              if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }\n              iVar15 = iVar15 + 1;\n              iVar18 = piVar20[0xf];\n              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);\n              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);\n            }" ({ "{") (expression_statement "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);" (call_expression "(*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pppppcVar24,&ppppcStack_94,unaff_s5)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) (, ",") (identifier "unaff_s5") () ")"))) (; ";")) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[6]" (identifier "pppppcVar24") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {\n                bVar22 = false;\n              }\n              else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" (if "if") (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" (( "(") (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppcVar24" (* "*") (identifier "pppppcVar24"))) (- "-") (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4"))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                bVar22 = false;\n              }" ({ "{") (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" (else "else") (compound_statement "{\n                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);\n                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);\n                bVar22 = cVar1 != '\0';\n              }" ({ "{") (expression_statement "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (* "*") (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" (( "(") (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcVar24[5]" (identifier "pppppcVar24") ([ "[") (number_literal "5") (] "]"))) (+ "+") (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4"))) () ")"))))) (; ";")) (expression_statement "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" (identifier "pppppcVar24") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(code ****)((int)ppppcVar4 + 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar4 + 1)" (( "(") (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "bVar22 = cVar1 != '\0';" (assignment_expression "bVar22 = cVar1 != '\0'" (identifier "bVar22") (= "=") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (} "}")))) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" (if "if") (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_90")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                ppppcStack_90 = (code ****)&DAT_00000020;\n                ppppcStack_94 = (code ****)(iVar6 + 0x2280);\n              }" ({ "{") (expression_statement "ppppcStack_90 = (code ****)&DAT_00000020;" (assignment_expression "ppppcStack_90 = (code ****)&DAT_00000020" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)&DAT_00000020" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "&DAT_00000020" (& "&") (identifier "DAT_00000020")))) (; ";")) (expression_statement "ppppcStack_94 = (code ****)(iVar6 + 0x2280);" (assignment_expression "ppppcStack_94 = (code ****)(iVar6 + 0x2280)" (identifier "ppppcStack_94") (= "=") (cast_expression "(code ****)(iVar6 + 0x2280)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar6 + 0x2280)" (( "(") (binary_expression "iVar6 + 0x2280" (identifier "iVar6") (+ "+") (number_literal "0x2280")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar18 = piVar20[0xf];" (assignment_expression "iVar18 = piVar20[0xf]" (identifier "iVar18") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94)" (( "(") (binary_expression "iVar19 + 0x5428" (identifier "iVar19") (+ "+") (number_literal "0x5428")) (, ",") (identifier "ppppcStack_90") (, ",") (identifier "ppppcStack_94") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);" (call_expression "(**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73534)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73534)" (* "*") (cast_expression "(code **)(puVar26 + 0x73534)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73534)" (( "(") (binary_expression "puVar26 + 0x73534" (identifier "puVar26") (+ "+") (number_literal "0x73534")) () ")"))))) () ")")) (argument_list "(iVar18,uVar2,bVar22)" (( "(") (identifier "iVar18") (, ",") (identifier "uVar2") (, ",") (identifier "bVar22") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar15 < piVar20[0x10])" (( "(") (binary_expression "iVar15 < piVar20[0x10]" (identifier "iVar15") (< "<") (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0xf]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (if_statement "if (iStack_a0 == 0) {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }\n          else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" (if "if") (parenthesized_expression "(iStack_a0 == 0)" (( "(") (binary_expression "iStack_a0 == 0" (identifier "iStack_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 0;\n          }" ({ "{") (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (identifier "ppppcVar4") (= "=") (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5430)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5430" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5430")) () ")"))))) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" (identifier "pppppcVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "ppppcVar4")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 8) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" (else "else") (compound_statement "{\n            ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);\n            iVar19 = piVar20[0xf];\n            pppppcVar23[1] = ppppcVar4;\n            *(undefined4 *)(iVar19 + 8) = 1;\n          }" ({ "{") (expression_statement "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);" (assignment_expression "ppppcVar4 = (code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (identifier "ppppcVar4") (= "=") (cast_expression "(code ****)\n                        (**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(puVar26 + 0x73010))\n                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x541c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x541c")) (, ",") (identifier "iStack_a0") (, ",") (identifier "uStack_ac") () ")"))))) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "pppppcVar23[1] = ppppcVar4;" (assignment_expression "pppppcVar23[1] = ppppcVar4" (subscript_expression "pppppcVar23[1]" (identifier "pppppcVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "ppppcVar4")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 8) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 8) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (if_statement "if (piVar20[0x10] == 0 && iStack_a0 == 0) {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }\n          else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" (if "if") (parenthesized_expression "(piVar20[0x10] == 0 && iStack_a0 == 0)" (( "(") (binary_expression "piVar20[0x10] == 0 && iStack_a0 == 0" (binary_expression "piVar20[0x10] == 0" (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iStack_a0 == 0" (identifier "iStack_a0") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }\n            *(undefined4 *)(iVar19 + 0x10) = 0;\n          }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (iStack_9c != 0) {\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" (if "if") (parenthesized_expression "(iStack_9c != 0)" (( "(") (binary_expression "iStack_9c != 0" (identifier "iStack_9c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00042638:\n              iVar15 = iVar15 + 0x71dc;\n              goto LAB_000422b4;\n            }" ({ "{") (labeled_statement "LAB_00042638:\n              iVar15 = iVar15 + 0x71dc;" (statement_identifier "LAB_00042638") (: ":") (expression_statement "iVar15 = iVar15 + 0x71dc;" (assignment_expression "iVar15 = iVar15 + 0x71dc" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 0x71dc" (identifier "iVar15") (+ "+") (number_literal "0x71dc"))) (; ";"))) (goto_statement "goto LAB_000422b4;" (goto "goto") (statement_identifier "LAB_000422b4") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x10)" (( "(") (binary_expression "iVar19 + 0x10" (identifier "iVar19") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" (else "else") (compound_statement "{\n            iVar15 = *(int *)(puVar26 + 0x72fb4);\n            if (iStack_9c != 0) goto LAB_00042638;\n            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;\nLAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);\n            *(undefined4 *)(iVar19 + 0xc) = uVar2;\n            iVar19 = piVar20[0xf];\n            *(undefined4 *)(iVar19 + 0x10) = 1;\n          }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (iStack_9c != 0) goto LAB_00042638;" (if "if") (parenthesized_expression "(iStack_9c != 0)" (( "(") (binary_expression "iStack_9c != 0" (identifier "iStack_9c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00042638;" (goto "goto") (statement_identifier "LAB_00042638") (; ";"))) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4f64"))) (; ";")) (labeled_statement "LAB_000422b4:\n            uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" (statement_identifier "LAB_000422b4") (: ":") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))\n                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x544c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x544c")) (, ",") (identifier "iVar15") (, ",") (identifier "iStack_9c") (, ",") (identifier "uStack_a8") () ")")))) (; ";"))) (expression_statement "*(undefined4 *)(iVar19 + 0xc) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0xc) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0xc)" (( "(") (binary_expression "iVar19 + 0xc" (identifier "iVar19") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar19 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar19 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x10)" (( "(") (binary_expression "iVar19 + 0x10" (identifier "iVar19") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(iVar19,0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(iVar19,0,0)" (( "(") (identifier "iVar19") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar19 < 0) {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x28a4;\n          goto LAB_0003fd3c;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x28a4;" (assignment_expression "*piVar20 = 0x28a4" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x28a4")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0) {\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar15 = piVar20[0xf];\n          goto LAB_00040b04;\n        }" ({ "{") (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (goto_statement "goto LAB_00040b04;" (goto "goto") (statement_identifier "LAB_00040b04") (; ";")) (} "}"))) (expression_statement "iVar19 = FUN_0003b04c(0x3d);" (assignment_expression "iVar19 = FUN_0003b04c(0x3d)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x3d)" (identifier "FUN_0003b04c") (argument_list "(0x3d)" (( "(") (number_literal "0x3d") () ")")))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b1cc(iVar19,piVar20[0x10]);" (call_expression "FUN_0003b1cc(iVar19,piVar20[0x10])" (identifier "FUN_0003b1cc") (argument_list "(iVar19,piVar20[0x10])" (( "(") (identifier "iVar19") (, ",") (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]")) () ")"))) (; ";")) (if_statement "if (0 < piVar20[0x10]) {\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" (if "if") (parenthesized_expression "(0 < piVar20[0x10])" (( "(") (binary_expression "0 < piVar20[0x10]" (number_literal "0") (< "<") (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]"))) () ")")) (compound_statement "{\n          iVar19 = 0;\n          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);\n          do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);\n        }" ({ "{") (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x4dc4)" (( "(") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x4dc4" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x4dc4")) () ")")))) (; ";")) (do_statement "do {\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          } while (iVar19 < piVar20[0x10]);" (do "do") (compound_statement "{\n            iVar15 = iVar19 * 4;\n            iVar19 = iVar19 + 1;\n            FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));\n          }" ({ "{") (expression_statement "iVar15 = iVar19 * 4;" (assignment_expression "iVar15 = iVar19 * 4" (identifier "iVar15") (= "=") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],\n                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8))" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8)" (( "(") (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" (* "*") (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + iVar15)" (( "(") (binary_expression "*(int *)(piVar20[0xf] + 0x18) + iVar15" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int *)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (identifier "iVar15")) () ")")))) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 < piVar20[0x10])" (( "(") (binary_expression "iVar19 < piVar20[0x10]" (identifier "iVar19") (< "<") (subscript_expression "piVar20[0x10]" (identifier "piVar20") ([ "[") (number_literal "0x10") (] "]"))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" (identifier "FUN_0004c528") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7353c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (labeled_statement "LAB_00041954:\n        *piVar20 = 0x28ca;" (statement_identifier "LAB_00041954") (: ":") (expression_statement "*piVar20 = 0x28ca;" (assignment_expression "*piVar20 = 0x28ca" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x28ca")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x2a03) {\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0x2a03)" (( "(") (binary_expression "iVar19 == 0x2a03" (identifier "iVar19") (== "==") (number_literal "0x2a03")) () ")")) (compound_statement "{\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;\n        ppppcVar4 = pppppcVar24[2];\n        if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }\n        iVar19 = FUN_00036be8(pppppcVar24);\n        iVar15 = *(int *)(iVar11 + 0x128);\n        if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }\n        if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }\n        uVar2 = FUN_00036be8(pppppcVar24);\n        iVar6 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar15 + 4) = uVar2;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        *(undefined4 *)(iVar6 + 0xc) = 0;\n        uVar2 = FUN_00036be8();\n        iVar19 = *(int *)(iVar11 + 0x128);\n        *(undefined4 *)(iVar6 + 0x2c) = uVar2;\n        uVar2 = FUN_00036be8();\n        uVar14 = *(undefined4 *)(iVar11 + 0x110);\n        pcVar27 = *(code **)(puVar26 + 0x7348c);\n        *(undefined4 *)(iVar19 + 0x30) = uVar2;\n        (*pcVar27)(uVar14);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);\n        goto LAB_0003ff14;\n      }" ({ "{") (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00040660;" (goto "goto") (statement_identifier "LAB_00040660") (; ";"))) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (1 < (int)ppppcVar4 - 0x5bU) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" (if "if") (parenthesized_expression "(1 < (int)ppppcVar4 - 0x5bU)" (( "(") (binary_expression "1 < (int)ppppcVar4 - 0x5bU" (number_literal "1") (< "<") (binary_expression "(int)ppppcVar4 - 0x5bU" (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4")) (- "-") (number_literal "0x5bU"))) () ")")) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;\n          goto LAB_00040078;\n        }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5618" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5618"))) (; ";")) (goto_statement "goto LAB_00040078;" (goto "goto") (statement_identifier "LAB_00040078") (; ";")) (} "}"))) (expression_statement "iVar19 = FUN_00036be8(pppppcVar24);" (assignment_expression "iVar19 = FUN_00036be8(pppppcVar24)" (identifier "iVar19") (= "=") (call_expression "FUN_00036be8(pppppcVar24)" (identifier "FUN_00036be8") (argument_list "(pppppcVar24)" (( "(") (identifier "pppppcVar24") () ")")))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar15 = *(int *)(iVar11 + 0x128)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (if_statement "if (iVar19 != *(int *)(iVar15 + 8)) {\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" (if "if") (parenthesized_expression "(iVar19 != *(int *)(iVar15 + 8))" (( "(") (binary_expression "iVar19 != *(int *)(iVar15 + 8)" (identifier "iVar19") (!= "!=") (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);\n          goto LAB_00040050;\n        }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5660)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5660" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5660")) () ")")))) (; ";")) (goto_statement "goto LAB_00040050;" (goto "goto") (statement_identifier "LAB_00040050") (; ";")) (} "}"))) (if_statement "if (pppppcVar24[2] == (code ****)0x5c) {\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" (if "if") (parenthesized_expression "(pppppcVar24[2] == (code ****)0x5c)" (( "(") (binary_expression "pppppcVar24[2] == (code ****)0x5c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (== "==") (cast_expression "(code ****)0x5c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x5c"))) () ")")) (compound_statement "{\n          uVar2 = FUN_00038814(pppppcVar24);\n          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);\n          FUN_0003822c(iVar11,uVar14);\n          goto LAB_00041054;\n        }" ({ "{") (expression_statement "uVar2 = FUN_00038814(pppppcVar24);" (assignment_expression "uVar2 = FUN_00038814(pppppcVar24)" (identifier "uVar2") (= "=") (call_expression "FUN_00038814(pppppcVar24)" (identifier "FUN_00038814") (argument_list "(pppppcVar24)" (( "(") (identifier "pppppcVar24") () ")")))) (; ";")) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x56a4")) (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_0003822c(iVar11,uVar14);" (call_expression "FUN_0003822c(iVar11,uVar14)" (identifier "FUN_0003822c") (argument_list "(iVar11,uVar14)" (( "(") (identifier "iVar11") (, ",") (identifier "uVar14") () ")"))) (; ";")) (goto_statement "goto LAB_00041054;" (goto "goto") (statement_identifier "LAB_00041054") (; ";")) (} "}"))) (expression_statement "uVar2 = FUN_00036be8(pppppcVar24);" (assignment_expression "uVar2 = FUN_00036be8(pppppcVar24)" (identifier "uVar2") (= "=") (call_expression "FUN_00036be8(pppppcVar24)" (identifier "FUN_00036be8") (argument_list "(pppppcVar24)" (( "(") (identifier "pppppcVar24") () ")")))) (; ";")) (expression_statement "iVar6 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar6 = *(int *)(iVar11 + 0x128)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar15 + 4) = uVar2;" (assignment_expression "*(undefined4 *)(iVar15 + 4) = uVar2" (pointer_expression "*(undefined4 *)(iVar15 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 4)" (( "(") (binary_expression "iVar15 + 4" (identifier "iVar15") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10)" (( "(") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" (identifier "uVar2") (= "=") (call_expression "FUN_00036be8()" (identifier "FUN_00036be8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)(iVar11 + 0x128);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x128)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x2c) = uVar2;" (assignment_expression "*(undefined4 *)(iVar6 + 0x2c) = uVar2" (pointer_expression "*(undefined4 *)(iVar6 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2c)" (( "(") (binary_expression "iVar6 + 0x2c" (identifier "iVar6") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = FUN_00036be8();" (assignment_expression "uVar2 = FUN_00036be8()" (identifier "uVar2") (= "=") (call_expression "FUN_00036be8()" (identifier "FUN_00036be8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x110)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7348c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7348c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x7348c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7348c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7348c)" (( "(") (binary_expression "puVar26 + 0x7348c" (identifier "puVar26") (+ "+") (number_literal "0x7348c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x30) = uVar2;" (assignment_expression "*(undefined4 *)(iVar19 + 0x30) = uVar2" (pointer_expression "*(undefined4 *)(iVar19 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x30)" (( "(") (binary_expression "iVar19 + 0x30" (identifier "iVar19") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "(*pcVar27)(uVar14);" (call_expression "(*pcVar27)(uVar14)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar14)" (( "(") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56cc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x56cc")) () ")"))) (; ";")) (goto_statement "goto LAB_0003ff14;" (goto "goto") (statement_identifier "LAB_0003ff14") (; ";")) (} "}"))) (if_statement "if (0x2a03 < iVar19) {\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" (if "if") (parenthesized_expression "(0x2a03 < iVar19)" (( "(") (binary_expression "0x2a03 < iVar19" (number_literal "0x2a03") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n        if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }\n        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;\n        ppppcVar4 = pppppcVar24[2];\n        if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }\n        if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }\n        if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }\n        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);\n        goto LAB_00040050;\n      }" ({ "{") (if_statement "if (iVar19 != 0x2a90) {\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" (if "if") (parenthesized_expression "(iVar19 != 0x2a90)" (( "(") (binary_expression "iVar19 != 0x2a90" (identifier "iVar19") (!= "!=") (number_literal "0x2a90")) () ")")) (compound_statement "{\n          if (iVar19 != 0x2abd) goto LAB_0003fd38;\n          if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }\n          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;\n          FUN_00048f30();\n          goto LAB_0003f7c4;\n        }" ({ "{") (if_statement "if (iVar19 != 0x2abd) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x2abd)" (( "(") (binary_expression "iVar19 != 0x2abd" (identifier "iVar19") (!= "!=") (number_literal "0x2abd")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 != (code *****)0x0) {\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppcVar4 = pppppcVar24[2];\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;\n            goto LAB_00040078;\n          }" ({ "{") (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5808" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5808"))) (; ";")) (goto_statement "goto LAB_00040078;" (goto "goto") (statement_identifier "LAB_00040078") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003f7c4;" (goto "goto") (statement_identifier "LAB_0003f7c4") (; ";"))) (expression_statement "FUN_00048f30();" (call_expression "FUN_00048f30()" (identifier "FUN_00048f30") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0003f7c4;" (goto "goto") (statement_identifier "LAB_0003f7c4") (; ";")) (} "}"))) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00041870;" (goto "goto") (statement_identifier "LAB_00041870") (; ";"))) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (ppppcVar4 == (code ****)0x63) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" (if "if") (parenthesized_expression "(ppppcVar4 == (code ****)0x63)" (( "(") (binary_expression "ppppcVar4 == (code ****)0x63" (identifier "ppppcVar4") (== "==") (cast_expression "(code ****)0x63" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x63"))) () ")")) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);\n          goto LAB_0003ffec;\n        }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x57f0")) () ")"))) (; ";")) (goto_statement "goto LAB_0003ffec;" (goto "goto") (statement_identifier "LAB_0003ffec") (; ";")) (} "}"))) (if_statement "if (ppppcVar4 != (code ****)0x64) {\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" (if "if") (parenthesized_expression "(ppppcVar4 != (code ****)0x64)" (( "(") (binary_expression "ppppcVar4 != (code ****)0x64" (identifier "ppppcVar4") (!= "!=") (cast_expression "(code ****)0x64" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x64"))) () ")")) (compound_statement "{\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;\n          goto LAB_00040078;\n        }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x575c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x575c"))) (; ";")) (goto_statement "goto LAB_00040078;" (goto "goto") (statement_identifier "LAB_00040078") (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')) {\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'))" (( "(") (binary_expression "(*(int *)(iVar11 + 0x174) == 0) &&\n           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" (* "*") (cast_expression "(int *)(iVar11 + 0x174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x174)" (( "(") (binary_expression "iVar11 + 0x174" (identifier "iVar11") (+ "+") (number_literal "0x174")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0')" (( "(") (comma_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),\n           *pcVar9 != '\0'" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" (identifier "pcVar9") (= "=") (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73094)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73094)" (* "*") (cast_expression "(code **)(puVar26 + 0x73094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73094)" (( "(") (binary_expression "puVar26 + 0x73094" (identifier "puVar26") (+ "+") (number_literal "0x73094")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x15)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x15") () ")"))))) (, ",") (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);\n          *(undefined4 *)(iVar11 + 0x174) = 1;\n          goto LAB_0004261c;\n        }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x579c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x579c")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x174) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x174) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x174)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x174)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x174)" (( "(") (binary_expression "iVar11 + 0x174" (identifier "iVar11") (+ "+") (number_literal "0x174")) () ")")))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0004261c;" (goto "goto") (statement_identifier "LAB_0004261c") (; ";")) (} "}"))) (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" (identifier "uVar2") (= "=") (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" (identifier "dupprintf") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x57c8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x57c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x57c8")) () ")")))) (; ";")) (goto_statement "goto LAB_00040050;" (goto "goto") (statement_identifier "LAB_00040050") (; ";")) (} "}"))) (if_statement "if (iVar19 == 0x2956) {\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0x2956)" (( "(") (binary_expression "iVar19 == 0x2956" (identifier "iVar19") (== "==") (number_literal "0x2956")) () ")")) (compound_statement "{\n        if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);\n        *(undefined4 *)(iVar11 + 0x100) = 0;\n        goto LAB_0003f648;\n      }" ({ "{") (if_statement "if (pppppcVar24 != (code *****)0x0) {\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" (if "if") (parenthesized_expression "(pppppcVar24 != (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 != (code *****)0x0" (identifier "pppppcVar24") (!= "!=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *piVar20 = 0x2956;\n          goto LAB_0003fd3c;\n        }" ({ "{") (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2956")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0003f648;" (goto "goto") (statement_identifier "LAB_0003f648") (; ";")) (} "}"))) (if_statement "if (iVar19 != 0x2999) goto LAB_0003fd38;" (if "if") (parenthesized_expression "(iVar19 != 0x2999)" (( "(") (binary_expression "iVar19 != 0x2999" (identifier "iVar19") (!= "!=") (number_literal "0x2999")) () ")")) (goto_statement "goto LAB_0003fd38;" (goto "goto") (statement_identifier "LAB_0003fd38") (; ";"))) (if_statement "if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;" (if "if") (parenthesized_expression "(pppppcVar24 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar24 == (code *****)0x0" (identifier "pppppcVar24") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003f784;" (goto "goto") (statement_identifier "LAB_0003f784") (; ";"))) (if_statement "if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;" (if "if") (parenthesized_expression "(pppppcVar24[2] != (code ****)0x3c)" (( "(") (binary_expression "pppppcVar24[2] != (code ****)0x3c" (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]")) (!= "!=") (cast_expression "(code ****)0x3c" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x3c"))) () ")")) (goto_statement "goto LAB_00040ef0;" (goto "goto") (statement_identifier "LAB_00040ef0") (; ";"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4be0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4be0"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,iVar19,uVar2)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4d08")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" (identifier "FUN_00037704") (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" (identifier "new_prompts") (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" (identifier "uVar2") (= "=") (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" (identifier "dupstr") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a4)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54a4")) () ")")))) (; ";")) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "pppppcVar17 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar17 = (code *****)ppppcStack_94" (identifier "pppppcVar17") (= "=") (cast_expression "(code *****)ppppcStack_94" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_94"))) (; ";")) (if_statement "if ((code *****)ppppcStack_94 == (code *****)0x0) {\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" (if "if") (parenthesized_expression "((code *****)ppppcStack_94 == (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_94 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_94" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_94")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);\n    }" ({ "{") (expression_statement "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);" (assignment_expression "pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" (identifier "pppppcVar17") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x72fb4) + 0x4f64)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4f64")) () ")")))) (; ";")) (} "}"))) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0xf]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)\n    ;" (assignment_expression "ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" (identifier "ppppcVar4") (= "=") (cast_expression "(code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" (identifier "dupprintf") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5428" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5428")) (, ",") (identifier "ppppcStack_90") (, ",") (identifier "pppppcVar17") () ")"))))) (; ";")) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "pppppcVar23[3] = ppppcVar4;" (assignment_expression "pppppcVar23[3] = ppppcVar4" (subscript_expression "pppppcVar23[3]" (identifier "pppppcVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "ppppcVar4")) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar15 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(iVar15 + 0x10) = 1" (pointer_expression "*(undefined4 *)(iVar15 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x10)" (( "(") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = dupstr(iVar19 + 0x54b8);" (assignment_expression "uVar2 = dupstr(iVar19 + 0x54b8)" (identifier "uVar2") (= "=") (call_expression "dupstr(iVar19 + 0x54b8)" (identifier "dupstr") (argument_list "(iVar19 + 0x54b8)" (( "(") (binary_expression "iVar19 + 0x54b8" (identifier "iVar19") (+ "+") (number_literal "0x54b8")) () ")")))) (; ";")) (expression_statement "add_prompt(iVar15,uVar2,0);" (call_expression "add_prompt(iVar15,uVar2,0)" (identifier "add_prompt") (argument_list "(iVar15,uVar2,0)" (( "(") (identifier "iVar15") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" (identifier "uVar2") (= "=") (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" (identifier "dupstr") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54f4)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54f4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54f4")) () ")")))) (; ";")) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" (identifier "add_prompt") (argument_list "(iVar19,uVar2,0)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" (identifier "uVar2") (= "=") (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c)" (identifier "dupstr") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x550c)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x550c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x550c")) () ")")))) (; ";")) (expression_statement "add_prompt(iVar19,uVar2,0);" (call_expression "add_prompt(iVar19,uVar2,0)" (identifier "add_prompt") (argument_list "(iVar19,uVar2,0)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (while_statement "while( true ) {\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }\n      if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }\n      piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }\n      iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));\n      if (iVar19 == 0) break;\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);\n    }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf],0,0)" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (labeled_statement "LAB_0003f648:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" (statement_identifier "LAB_0003f648") (: ":") (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2956;\n        goto LAB_0003fd3c;\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x2956;" (assignment_expression "*piVar20 = 0x2956" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2956")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))) (if_statement "if (iVar19 == 0) {\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x7353c))();\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        iVar15 = piVar20[0x12];\n        pcVar27 = *(code **)(puVar26 + 0x72fdc);\n        goto LAB_00040b08;\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7353c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7306c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7306c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7306c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7306c)" (( "(") (binary_expression "puVar26 + 0x7306c" (identifier "puVar26") (+ "+") (number_literal "0x7306c")) () ")"))))) () ")")) (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "iVar15 = piVar20[0x12];" (assignment_expression "iVar15 = piVar20[0x12]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x72fdc);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x72fdc)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x72fdc)" (* "*") (cast_expression "(code **)(puVar26 + 0x72fdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x72fdc)" (( "(") (binary_expression "puVar26 + 0x72fdc" (identifier "puVar26") (+ "+") (number_literal "0x72fdc")) () ")"))))) (; ";")) (goto_statement "goto LAB_00040b08;" (goto "goto") (statement_identifier "LAB_00040b08") (; ";")) (} "}"))) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int **)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (**(char **)(*piVar5 + 8) != '\0') {\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" (if "if") (parenthesized_expression "(**(char **)(*piVar5 + 8) != '\0')" (( "(") (binary_expression "**(char **)(*piVar5 + 8) != '\0'" (pointer_expression "**(char **)(*piVar5 + 8)" (* "*") (pointer_expression "*(char **)(*piVar5 + 8)" (* "*") (cast_expression "(char **)(*piVar5 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 8)" (( "(") (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "8")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar19 = piVar20[0x12];\n        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);\n        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);\n        iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n        piVar20[0x12] = iVar19;\n        piVar5 = *(int **)(piVar20[0xf] + 0x18);\n      }" ({ "{") (expression_statement "iVar19 = piVar20[0x12];" (assignment_expression "iVar19 = piVar20[0x12]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);" (call_expression "(**(code **)(puVar26 + 0x7306c))(iVar19,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x7306c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7306c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7306c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7306c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7306c)" (( "(") (binary_expression "puVar26 + 0x7306c" (identifier "puVar26") (+ "+") (number_literal "0x7306c")) () ")"))))) () ")")) (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(piVar20[0x12])" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x72fdc)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x72fdc)" (* "*") (cast_expression "(code **)(puVar26 + 0x72fdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x72fdc)" (( "(") (binary_expression "puVar26 + 0x72fdc" (identifier "puVar26") (+ "+") (number_literal "0x72fdc")) () ")"))))) () ")")) (argument_list "(piVar20[0x12])" (( "(") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x7301c))\n                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (( "(") (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" (* "*") (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" (( "(") (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" (* "*") (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int **)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar5 = *(int **)(piVar20[0xf] + 0x18);" (assignment_expression "piVar5 = *(int **)(piVar20[0xf] + 0x18)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int **)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73b4c))\n                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b4c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73b4c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73b4c)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b4c)" (( "(") (binary_expression "puVar26 + 0x73b4c" (identifier "puVar26") (+ "+") (number_literal "0x73b4c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8))" (( "(") (pointer_expression "*(undefined4 *)(piVar5[1] + 8)" (* "*") (cast_expression "(undefined4 *)(piVar5[1] + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[1] + 8)" (( "(") (binary_expression "piVar5[1] + 8" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(piVar5[2] + 8)" (* "*") (cast_expression "(undefined4 *)(piVar5[2] + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[2] + 8)" (( "(") (binary_expression "piVar5[2] + 8" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar19 == 0) break;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5524" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5524")) (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54ac")) () ")"))) (; ";")) (expression_statement "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)CONCAT13(1,pppcStack_98._1_3_)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "CONCAT13(1,pppcStack_98._1_3_)" (identifier "CONCAT13") (argument_list "(1,pppcStack_98._1_3_)" (( "(") (number_literal "1") (, ",") (field_expression "pppcStack_98._1_3_" (identifier "pppcStack_98") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&pppcStack_98,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],piVar20[0x12])" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8))" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8)" (( "(") (binary_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8" (pointer_expression "*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" (* "*") (cast_expression "(int *)(*(int *)(piVar20[0xf] + 0x18) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar20[0xf] + 0x18) + 4)" (( "(") (binary_expression "*(int *)(piVar20[0xf] + 0x18) + 4" (pointer_expression "*(int *)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int *)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (expression_statement "free_prompts(piVar20[0xf]);" (call_expression "free_prompts(piVar20[0xf])" (identifier "free_prompts") (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" (identifier "FUN_0004c528") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5540" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5540")) () ")"))) (; ";")) (labeled_statement "LAB_0003f784:\n    *piVar20 = 0x2999;" (statement_identifier "LAB_0003f784") (: ":") (expression_statement "*piVar20 = 0x2999;" (assignment_expression "*piVar20 = 0x2999" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2999")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "piVar20 = (int *)safemalloc(1,0xe8);" (assignment_expression "piVar20 = (int *)safemalloc(1,0xe8)" (identifier "piVar20") (= "=") (cast_expression "(int *)safemalloc(1,0xe8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0xe8)" (identifier "safemalloc") (argument_list "(1,0xe8)" (( "(") (number_literal "1") (, ",") (number_literal "0xe8") () ")"))))) (; ";")) (expression_statement "*(int **)(iVar11 + 0x1d0) = piVar20;" (assignment_expression "*(int **)(iVar11 + 0x1d0) = piVar20" (pointer_expression "*(int **)(iVar11 + 0x1d0)" (* "*") (cast_expression "(int **)(iVar11 + 0x1d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x1d0)" (( "(") (binary_expression "iVar11 + 0x1d0" (identifier "iVar11") (+ "+") (number_literal "0x1d0")) () ")")))) (= "=") (identifier "piVar20")) (; ";")) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")"))))) (; ";")) (expression_statement "pppppcVar24 = param_3;" (assignment_expression "pppppcVar24 = param_3" (identifier "pppppcVar24") (= "=") (identifier "param_3")) (; ";")) (labeled_statement "LAB_0003fd9c:\n  iVar19 = *(int *)(iVar11 + 0xec);" (statement_identifier "LAB_0003fd9c") (: ":") (expression_statement "iVar19 = *(int *)(iVar11 + 0xec);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0xec)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar11 + 0xec)" (* "*") (cast_expression "(int *)(iVar11 + 0xec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xec)" (( "(") (binary_expression "iVar11 + 0xec" (identifier "iVar11") (+ "+") (number_literal "0xec")) () ")"))))) (; ";"))) (expression_statement "iVar15 = iVar15 + 0xae0;" (assignment_expression "iVar15 = iVar15 + 0xae0" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 0xae0" (identifier "iVar15") (+ "+") (number_literal "0xae0"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x288) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x288) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x288)" (* "*") (cast_expression "(int *)(iVar11 + 0x288)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x288)" (( "(") (binary_expression "iVar11 + 0x288" (identifier "iVar11") (+ "+") (number_literal "0x288")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x338) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x338) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x338)" (* "*") (cast_expression "(int *)(iVar11 + 0x338)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x338)" (( "(") (binary_expression "iVar11 + 0x338" (identifier "iVar11") (+ "+") (number_literal "0x338")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x33c) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x33c) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x33c)" (* "*") (cast_expression "(int *)(iVar11 + 0x33c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x33c)" (( "(") (binary_expression "iVar11 + 0x33c" (identifier "iVar11") (+ "+") (number_literal "0x33c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x340) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x340) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x340)" (* "*") (cast_expression "(int *)(iVar11 + 0x340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x340)" (( "(") (binary_expression "iVar11 + 0x340" (identifier "iVar11") (+ "+") (number_literal "0x340")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x344) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x344) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x344)" (* "*") (cast_expression "(int *)(iVar11 + 0x344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x344)" (( "(") (binary_expression "iVar11 + 0x344" (identifier "iVar11") (+ "+") (number_literal "0x344")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x360) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x360) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x360)" (* "*") (cast_expression "(int *)(iVar11 + 0x360)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x360)" (( "(") (binary_expression "iVar11 + 0x360" (identifier "iVar11") (+ "+") (number_literal "0x360")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x364) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x364) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x364)" (* "*") (cast_expression "(int *)(iVar11 + 0x364)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x364)" (( "(") (binary_expression "iVar11 + 0x364" (identifier "iVar11") (+ "+") (number_literal "0x364")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3b0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3b0)" (( "(") (binary_expression "iVar11 + 0x3b0" (identifier "iVar11") (+ "+") (number_literal "0x3b0")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3b4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b4)" (* "*") (cast_expression "(int *)(iVar11 + 0x3b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3b4)" (( "(") (binary_expression "iVar11 + 0x3b4" (identifier "iVar11") (+ "+") (number_literal "0x3b4")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3b8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3b8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3b8)" (* "*") (cast_expression "(int *)(iVar11 + 0x3b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3b8)" (( "(") (binary_expression "iVar11 + 0x3b8" (identifier "iVar11") (+ "+") (number_literal "0x3b8")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3d8) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3d8)" (* "*") (cast_expression "(int *)(iVar11 + 0x3d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3d8)" (( "(") (binary_expression "iVar11 + 0x3d8" (identifier "iVar11") (+ "+") (number_literal "0x3d8")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3dc) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3dc)" (* "*") (cast_expression "(int *)(iVar11 + 0x3dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3dc)" (( "(") (binary_expression "iVar11 + 0x3dc" (identifier "iVar11") (+ "+") (number_literal "0x3dc")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3e0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3e0)" (( "(") (binary_expression "iVar11 + 0x3e0" (identifier "iVar11") (+ "+") (number_literal "0x3e0")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3e4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3e4)" (* "*") (cast_expression "(int *)(iVar11 + 0x3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3e4)" (( "(") (binary_expression "iVar11 + 0x3e4" (identifier "iVar11") (+ "+") (number_literal "0x3e4")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 1000) = iVar15;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15" (pointer_expression "*(int *)(iVar11 + 1000)" (* "*") (cast_expression "(int *)(iVar11 + 1000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 1000)" (( "(") (binary_expression "iVar11 + 1000" (identifier "iVar11") (+ "+") (number_literal "1000")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3ec)" (* "*") (cast_expression "(int *)(iVar11 + 0x3ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3ec)" (( "(") (binary_expression "iVar11 + 0x3ec" (identifier "iVar11") (+ "+") (number_literal "0x3ec")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3f0)" (( "(") (binary_expression "iVar11 + 0x3f0" (identifier "iVar11") (+ "+") (number_literal "0x3f0")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3f4) = iVar15;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = iVar15" (pointer_expression "*(int *)(iVar11 + 0x3f4)" (* "*") (cast_expression "(int *)(iVar11 + 0x3f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3f4)" (( "(") (binary_expression "iVar11 + 0x3f4" (identifier "iVar11") (+ "+") (number_literal "0x3f4")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "piVar20[2] = 0;" (assignment_expression "piVar20[2] = 0" (subscript_expression "piVar20[2]" (identifier "piVar20") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0xe] = 0;" (assignment_expression "piVar20[0xe] = 0" (subscript_expression "piVar20[0xe]" (identifier "piVar20") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0xb] = 0;" (assignment_expression "piVar20[0xb] = 0" (subscript_expression "piVar20[0xb]" (identifier "piVar20") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar19 == 0) {\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }\n  else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);\n    if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }\nLAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }\n  }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x23)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x23") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_00042034:\n      *piVar20 = 0x246f;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(5)" (identifier "FUN_0003b04c") (argument_list "(5)" (( "(") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" (identifier "FUN_0003b23c") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c24" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c24")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (labeled_statement "LAB_00042034:\n      *piVar20 = 0x246f;" (statement_identifier "LAB_00042034") (: ":") (expression_statement "*piVar20 = 0x246f;" (assignment_expression "*piVar20 = 0x246f" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x246f")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (labeled_statement "LAB_000400a0:\n    if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" (statement_identifier "LAB_000400a0") (: ":") (if_statement "if (piVar20[2] == 0) {\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "(piVar20[2] == 0)" (( "(") (binary_expression "piVar20[2] == 0" (subscript_expression "piVar20[2]" (identifier "piVar20") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar19 = FUN_0003b04c(5);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_000400f8:\n      *piVar20 = 0x247a;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "iVar19 = FUN_0003b04c(5);" (assignment_expression "iVar19 = FUN_0003b04c(5)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(5)" (identifier "FUN_0003b04c") (argument_list "(5)" (( "(") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (identifier "iVar19") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (labeled_statement "LAB_000400f8:\n      *piVar20 = 0x247a;" (statement_identifier "LAB_000400f8") (: ":") (expression_statement "*piVar20 = 0x247a;" (assignment_expression "*piVar20 = 0x247a" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x247a")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" (else "else") (compound_statement "{\nLAB_0003fe04:\n    piVar20[0xd] = 1;\n  }" ({ "{") (labeled_statement "LAB_0003fe04:\n    piVar20[0xd] = 1;" (statement_identifier "LAB_0003fe04") (: ":") (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "1")) (; ";"))) (} "}")))) (labeled_statement "LAB_0003fe10:\n  bufchain_init(iVar11 + 0x178);" (statement_identifier "LAB_0003fe10") (: ":") (expression_statement "bufchain_init(iVar11 + 0x178);" (call_expression "bufchain_init(iVar11 + 0x178)" (identifier "bufchain_init") (argument_list "(iVar11 + 0x178)" (( "(") (binary_expression "iVar11 + 0x178" (identifier "iVar11") (+ "+") (number_literal "0x178")) () ")"))) (; ";"))) (expression_statement "iVar19 = piVar20[0xd];" (assignment_expression "iVar19 = piVar20[0xd]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;" (assignment_expression "*(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(iVar11 + 0x344)" (* "*") (cast_expression "(int *)(iVar11 + 0x344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x344)" (( "(") (binary_expression "iVar11 + 0x344" (identifier "iVar11") (+ "+") (number_literal "0x344")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x2890" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x2890"))) (; ";")) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar19 != 0) {\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar20[0x13] = 0;\n    goto LAB_0003fe38;\n  }" ({ "{") (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" (identifier "piVar20") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0003fe38;" (goto "goto") (statement_identifier "LAB_0003fe38") (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73134)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73134)" (* "*") (cast_expression "(code **)(puVar26 + 0x73134)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73134)" (( "(") (binary_expression "puVar26 + 0x73134" (identifier "puVar26") (+ "+") (number_literal "0x73134")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73554);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73554)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73554)" (* "*") (cast_expression "(code **)(puVar26 + 0x73554)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73554)" (( "(") (binary_expression "puVar26 + 0x73554" (identifier "puVar26") (+ "+") (number_literal "0x73554")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "iVar19 = (*pcVar27)(iVar19);" (assignment_expression "iVar19 = (*pcVar27)(iVar19)" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);\n    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);\n    if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }\n  }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73124)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73124)" (* "*") (cast_expression "(code **)(puVar26 + 0x73124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73124)" (( "(") (binary_expression "puVar26 + 0x73124" (identifier "puVar26") (+ "+") (number_literal "0x73124")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f])" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) () ")")))) (; ";")) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")")))) (+ "+") (number_literal "0x6ce8")) () ")")))) (; ";")) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c64" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c64")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73564))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73564))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73564)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73564)" (* "*") (cast_expression "(code **)(puVar26 + 0x73564)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73564)" (( "(") (binary_expression "puVar26 + 0x73564" (identifier "puVar26") (+ "+") (number_literal "0x73564")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f])" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar19 == 3) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }\n    else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" (if "if") (parenthesized_expression "(iVar19 == 3)" (( "(") (binary_expression "iVar19 == 3" (identifier "iVar19") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 == 0) goto LAB_000424c4;\n      piVar20[0x16] = 1;\nLAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);\n      piVar20[0x17] = iVar19;\n    }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7356c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7356c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7356c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7356c)" (( "(") (binary_expression "puVar26 + 0x7356c" (identifier "puVar26") (+ "+") (number_literal "0x7356c")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (, ",") (binary_expression "piVar20 + 0x18" (identifier "piVar20") (+ "+") (number_literal "0x18")) (, ",") (binary_expression "piVar20 + 0x15" (identifier "piVar20") (+ "+") (number_literal "0x15")) (, ",") (binary_expression "piVar20 + 0x19" (identifier "piVar20") (+ "+") (number_literal "0x19")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")")))) (; ";")) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_000424c4;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000424c4;" (goto "goto") (statement_identifier "LAB_000424c4") (; ";"))) (expression_statement "piVar20[0x16] = 1;" (assignment_expression "piVar20[0x16] = 1" (subscript_expression "piVar20[0x16]" (identifier "piVar20") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0004292c:\n      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" (statement_identifier "LAB_0004292c") (: ":") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73574))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73574)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73574)" (* "*") (cast_expression "(code **)(puVar26 + 0x73574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73574)" (( "(") (binary_expression "puVar26 + 0x73574" (identifier "puVar26") (+ "+") (number_literal "0x73574")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f],0)" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";"))) (expression_statement "piVar20[0x17] = iVar19;" (assignment_expression "piVar20[0x17] = iVar19" (subscript_expression "piVar20[0x17]" (identifier "piVar20") ([ "[") (number_literal "0x17") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (} "}")) (else_clause "else if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" (else "else") (if_statement "if (iVar19 - 9U < 2) {\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }\n    else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" (if "if") (parenthesized_expression "(iVar19 - 9U < 2)" (( "(") (binary_expression "iVar19 - 9U < 2" (binary_expression "iVar19 - 9U" (identifier "iVar19") (- "-") (number_literal "9U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;\n      piVar20[0x14] = iVar19;\n      if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }\nLAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n    }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)\n      ;" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x7356c))\n                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7356c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7356c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7356c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7356c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7356c)" (( "(") (binary_expression "puVar26 + 0x7356c" (identifier "puVar26") (+ "+") (number_literal "0x7356c")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (, ",") (binary_expression "piVar20 + 0x18" (identifier "piVar20") (+ "+") (number_literal "0x18")) (, ",") (binary_expression "piVar20 + 0x15" (identifier "piVar20") (+ "+") (number_literal "0x15")) (, ",") (binary_expression "piVar20 + 0x19" (identifier "piVar20") (+ "+") (number_literal "0x19")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")")))) (; ";")) (expression_statement "piVar20[0x14] = iVar19;" (assignment_expression "piVar20[0x14] = iVar19" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = *(int *)(puVar26 + 0x72fb4);\n        piVar20[0x16] = 0;\n        FUN_00036ce8(iVar11,iVar19 + 0x582c);\n        goto LAB_0004292c;\n      }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "piVar20[0x16] = 0;" (assignment_expression "piVar20[0x16] = 0" (subscript_expression "piVar20[0x16]" (identifier "piVar20") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x582c);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x582c)" (identifier "FUN_00036ce8") (argument_list "(iVar11,iVar19 + 0x582c)" (( "(") (identifier "iVar11") (, ",") (binary_expression "iVar19 + 0x582c" (identifier "iVar19") (+ "+") (number_literal "0x582c")) () ")"))) (; ";")) (goto_statement "goto LAB_0004292c;" (goto "goto") (statement_identifier "LAB_0004292c") (; ";")) (} "}"))) (labeled_statement "LAB_000424c4:\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" (statement_identifier "LAB_000424c4") (: ":") (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c80" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c80")) (, ",") (identifier "ppppcStack_90") () ")"))) (; ";"))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73124)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73124)" (* "*") (cast_expression "(code **)(puVar26 + 0x73124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73124)" (( "(") (binary_expression "puVar26 + 0x73124" (identifier "puVar26") (+ "+") (number_literal "0x73124")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f])" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) () ")")))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))\n                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c98" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c98")) (, ",") (identifier "uVar2") (, ",") (identifier "ppppcStack_90") () ")")))) (; ";")) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,uVar2,uVar14)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (identifier "uVar2") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x72fdc)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x72fdc)" (* "*") (cast_expression "(code **)(puVar26 + 0x72fdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x72fdc)" (( "(") (binary_expression "puVar26 + 0x72fdc" (identifier "puVar26") (+ "+") (number_literal "0x72fdc")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" (else "else") (compound_statement "{\n      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);\n      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);\n      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);\n      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n      (**(code **)(puVar26 + 0x72fdc))(uVar2);\n      piVar20[0x14] = 0;\n    }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73568)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73568)" (* "*") (cast_expression "(code **)(puVar26 + 0x73568)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73568)" (( "(") (binary_expression "puVar26 + 0x73568" (identifier "puVar26") (+ "+") (number_literal "0x73568")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4cc0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4cc0")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73124))(piVar20[0x2f])" (parenthesized_expression "(**(code **)(puVar26 + 0x73124))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73124)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73124)" (* "*") (cast_expression "(code **)(puVar26 + 0x73124)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73124)" (( "(") (binary_expression "puVar26 + 0x73124" (identifier "puVar26") (+ "+") (number_literal "0x73124")) () ")"))))) () ")")) (argument_list "(piVar20[0x2f])" (( "(") (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) () ")")))) (; ";")) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(puVar26 + 0x73568))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73568))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73568)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73568)" (* "*") (cast_expression "(code **)(puVar26 + 0x73568)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73568)" (( "(") (binary_expression "puVar26 + 0x73568" (identifier "puVar26") (+ "+") (number_literal "0x73568")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ce4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4ce4")) (, ",") (identifier "uVar2") (, ",") (identifier "uVar14") () ")")))) (; ";")) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,uVar2,uVar14)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (identifier "uVar2") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x72fdc)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x72fdc)" (* "*") (cast_expression "(code **)(puVar26 + 0x72fdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x72fdc)" (( "(") (binary_expression "puVar26 + 0x72fdc" (identifier "puVar26") (+ "+") (number_literal "0x72fdc")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "piVar20[0x14] = 0;" (assignment_expression "piVar20[0x14] = 0" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}"))) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) (; ";")) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x1c] = 0;" (assignment_expression "piVar20[0x1c] = 0" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x1f] = 0;" (assignment_expression "piVar20[0x1f] = 0" (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x1c);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x1c)" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(uVar2,0x1c)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar2,0x1c)" (( "(") (identifier "uVar2") (, ",") (number_literal "0x1c") () ")")))) (; ";")) (if_statement "if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))\n  goto LAB_0003fc30;" (if "if") (parenthesized_expression "((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))" (( "(") (binary_expression "(iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0)" (( "(") (comma_expression "iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73524))()" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73524))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73524))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73524)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73524)" (* "*") (cast_expression "(code **)(puVar26 + 0x73524)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73524)" (( "(") (binary_expression "puVar26 + 0x73524" (identifier "puVar26") (+ "+") (number_literal "0x73524")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0003fc30;" (goto "goto") (statement_identifier "LAB_0003fc30") (; ";"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d0c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4d0c")) () ")"))) (; ";")) (expression_statement "piVar20[0x1a] = 1;" (assignment_expression "piVar20[0x1a] = 1" (subscript_expression "piVar20[0x1a]" (identifier "piVar20") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)(piVar20 + 0x1b) = 0xb;" (assignment_expression "*(undefined1 *)(piVar20 + 0x1b) = 0xb" (pointer_expression "*(undefined1 *)(piVar20 + 0x1b)" (* "*") (cast_expression "(undefined1 *)(piVar20 + 0x1b)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar20 + 0x1b)" (( "(") (binary_expression "piVar20 + 0x1b" (identifier "piVar20") (+ "+") (number_literal "0x1b")) () ")")))) (= "=") (number_literal "0xb")) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73030))\n                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (parenthesized_expression "(**(code **)(puVar26 + 0x73030))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73030)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73030)" (* "*") (cast_expression "(code **)(puVar26 + 0x73030)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73030)" (( "(") (binary_expression "puVar26 + 0x73030" (identifier "puVar26") (+ "+") (number_literal "0x73030")) () ")"))))) () ")")) (argument_list "(piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,\n                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11)" (( "(") (binary_expression "piVar20 + 0x1a" (identifier "piVar20") (+ "+") (number_literal "0x1a")) (, ",") (number_literal "5") (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) (, ",") (binary_expression "piVar20 + 0x1e" (identifier "piVar20") (+ "+") (number_literal "0x1e")) (, ",") (binary_expression "*(int *)(puVar26 + 0x73504) + 0xa58" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "0xa58")) (, ",") (identifier "iVar11") () ")")))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x6d0) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6d0) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6d0)" (* "*") (cast_expression "(int *)(iVar11 + 0x6d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6d0)" (( "(") (binary_expression "iVar11 + 0x6d0" (identifier "iVar11") (+ "+") (number_literal "0x6d0")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00040ffc:\n    *piVar20 = 0x24d9;\n    goto LAB_0003fd3c;\n  }" ({ "{") (labeled_statement "LAB_00040ffc:\n    *piVar20 = 0x24d9;" (statement_identifier "LAB_00040ffc") (: ":") (expression_statement "*piVar20 = 0x24d9;" (assignment_expression "*piVar20 = 0x24d9" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x24d9")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (labeled_statement "LAB_0003fbf0:\n  pppppcVar24 = (code *****)ppppcStack_90;" (statement_identifier "LAB_0003fbf0") (: ":") (expression_statement "pppppcVar24 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_90" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)ppppcStack_90" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_90"))) (; ";"))) (expression_statement "piVar20[0x1c] = (int)ppppcStack_90;" (assignment_expression "piVar20[0x1c] = (int)ppppcStack_90" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (cast_expression "(int)ppppcStack_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_90"))) (; ";")) (if_statement "if ((code *****)ppppcStack_90 == (code *****)0x0) {\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }\n  else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" (if "if") (parenthesized_expression "((code *****)ppppcStack_90 == (code *****)0x0)" (( "(") (binary_expression "(code *****)ppppcStack_90 == (code *****)0x0" (cast_expression "(code *****)ppppcStack_90" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_90")) (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n  }" ({ "{") (labeled_statement "LAB_0003fc18:\n    iVar19 = *(int *)(puVar26 + 0x72fb4);" (statement_identifier "LAB_0003fc18") (: ":") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" (else "else") (compound_statement "{\n    iVar19 = *(int *)(puVar26 + 0x72fb4);\n    if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }\n  }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (4 < piVar20[0x1e]) {\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" (if "if") (parenthesized_expression "(4 < piVar20[0x1e])" (( "(") (binary_expression "4 < piVar20[0x1e]" (number_literal "4") (< "<") (subscript_expression "piVar20[0x1e]" (identifier "piVar20") ([ "[") (number_literal "0x1e") (] "]"))) () ")")) (compound_statement "{\n      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }\n      goto LAB_0003fc18;\n    }" ({ "{") (if_statement "if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" (if "if") (parenthesized_expression "(*(code *)(ppppcStack_90 + 1) == (code)0xc)" (( "(") (binary_expression "*(code *)(ppppcStack_90 + 1) == (code)0xc" (pointer_expression "*(code *)(ppppcStack_90 + 1)" (* "*") (cast_expression "(code *)(ppppcStack_90 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppcStack_90 + 1)" (( "(") (binary_expression "ppppcStack_90 + 1" (identifier "ppppcStack_90") (+ "+") (number_literal "1")) () ")")))) (== "==") (cast_expression "(code)0xc" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xc"))) () ")")) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));\n        piVar20[0x21] = iVar19;\n        if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }\n        goto LAB_0003fc30;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)ppppcStack_90 + 5))" (( "(") (pointer_expression "*(undefined4 *)((int)ppppcStack_90 + 5)" (* "*") (cast_expression "(undefined4 *)((int)ppppcStack_90 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppcStack_90 + 5)" (( "(") (binary_expression "(int)ppppcStack_90 + 5" (cast_expression "(int)ppppcStack_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_90")) (+ "+") (number_literal "5")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar20[0x21] = iVar19;" (assignment_expression "piVar20[0x21] = iVar19" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 < 0) {\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }\n        else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);\n          piVar20[0x21] = 0;\n        }" ({ "{") (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4d74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4d74")) (, ",") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" (else "else") (compound_statement "{\n          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);\n          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);\n          if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }\n        }" ({ "{") (expression_statement "pppppcVar24 = (code *****)((int)pppppcVar24 + 9);" (assignment_expression "pppppcVar24 = (code *****)((int)pppppcVar24 + 9)" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)((int)pppppcVar24 + 9)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar24 + 9)" (( "(") (binary_expression "(int)pppppcVar24 + 9" (cast_expression "(int)pppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar24")) (+ "+") (number_literal "9")) () ")")))) (; ";")) (expression_statement "pppppcVar23 = (code *****)(piVar20[0x1e] + -9);" (assignment_expression "pppppcVar23 = (code *****)(piVar20[0x1e] + -9)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(piVar20[0x1e] + -9)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(piVar20[0x1e] + -9)" (( "(") (binary_expression "piVar20[0x1e] + -9" (subscript_expression "piVar20[0x1e]" (identifier "piVar20") ([ "[") (number_literal "0x1e") (] "]")) (+ "+") (number_literal "-9")) () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }\n          else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);\n            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);\n            if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }\n          }" ({ "{") (labeled_statement "LAB_00042c08:\n            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (statement_identifier "LAB_00042c08") (: ":") (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x7336c) + 0x6ce8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x7336c) + 0x6ce8" (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")")))) (+ "+") (number_literal "0x6ce8")) () ")")))) (; ";"))) (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4dc8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4dc8")) (, ",") (identifier "iVar19") () ")"))) (; ";")) (if_statement "if (piVar20[0x14] != 0) {\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" (if "if") (parenthesized_expression "(piVar20[0x14] != 0)" (( "(") (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }\n              if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }\n            }" ({ "{") (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0 < piVar20[0x21]) {\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" (if "if") (parenthesized_expression "(0 < piVar20[0x21])" (( "(") (binary_expression "0 < piVar20[0x21]" (number_literal "0") (< "<") (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]"))) () ")")) (compound_statement "{\n                do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);\n              }" ({ "{") (do_statement "do {\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                } while ((int)unaff_s5 < piVar20[0x21]);" (do "do") (compound_statement "{\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);\n                  piVar20[0x25] = iVar19;\n                  if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }\n                  unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);\n                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);\n                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);\n                }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar24)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*pppppcVar24)" (( "(") (pointer_expression "*pppppcVar24" (* "*") (identifier "pppppcVar24")) () ")")))) (; ";")) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if ((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" (if "if") (parenthesized_expression "((iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0))" (( "(") (binary_expression "(iVar19 == piVar20[0x15]) &&\n                     (iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" (parenthesized_expression "(iVar19 == piVar20[0x15])" (( "(") (binary_expression "iVar19 == piVar20[0x15]" (identifier "iVar19") (== "==") (subscript_expression "piVar20[0x15]" (identifier "piVar20") ([ "[") (number_literal "0x15") (] "]"))) () ")")) (&& "&&") (parenthesized_expression "(iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)" (( "(") (comma_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(puVar26 + 0x73af8))\n                                         (pppppcVar24 + 1,piVar20[0x14],iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73af8))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73af8)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73af8)" (* "*") (cast_expression "(code **)(puVar26 + 0x73af8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73af8)" (( "(") (binary_expression "puVar26 + 0x73af8" (identifier "puVar26") (+ "+") (number_literal "0x73af8")) () ")"))))) () ")")) (argument_list "(pppppcVar24 + 1,piVar20[0x14],iVar19)" (( "(") (binary_expression "pppppcVar24 + 1" (identifier "pppppcVar24") (+ "+") (number_literal "1")) (, ",") (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (, ",") (identifier "iVar19") () ")")))) (, ",") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);\n                    piVar20[0x20] = (int)unaff_s5;\n                    piVar20[0x1f] = (int)pppppcVar24;\n                    goto LAB_0003fc30;\n                  }" ({ "{") (expression_statement "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);" (call_expression "FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" (identifier "FUN_00036ce8") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4de4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4de4")) (, ",") (identifier "unaff_s5") () ")"))) (; ";")) (expression_statement "piVar20[0x20] = (int)unaff_s5;" (assignment_expression "piVar20[0x20] = (int)unaff_s5" (subscript_expression "piVar20[0x20]" (identifier "piVar20") ([ "[") (number_literal "0x20") (] "]")) (= "=") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) (; ";")) (expression_statement "piVar20[0x1f] = (int)pppppcVar24;" (assignment_expression "piVar20[0x1f] = (int)pppppcVar24" (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (cast_expression "(int)pppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar24"))) (; ";")) (goto_statement "goto LAB_0003fc30;" (goto "goto") (statement_identifier "LAB_0003fc30") (; ";")) (} "}"))) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)((int)unaff_s5 + 1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s5 + 1)" (( "(") (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);" (assignment_expression "pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4)" (identifier "pcVar27") (= "=") (cast_expression "(code *)((int)pppppcVar24 + iVar19 + 4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar24 + iVar19 + 4)" (( "(") (binary_expression "(int)pppppcVar24 + iVar19 + 4" (binary_expression "(int)pppppcVar24 + iVar19" (cast_expression "(int)pppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar24")) (+ "+") (identifier "iVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)pcVar27)" (( "(") (pointer_expression "*(undefined4 *)pcVar27" (* "*") (cast_expression "(undefined4 *)pcVar27" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar27"))) () ")")))) (; ";")) (expression_statement "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);" (assignment_expression "pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4)" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)(pcVar27 + iVar19 + 4)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(pcVar27 + iVar19 + 4)" (( "(") (binary_expression "pcVar27 + iVar19 + 4" (binary_expression "pcVar27 + iVar19" (identifier "pcVar27") (+ "+") (identifier "iVar19")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)unaff_s5 < piVar20[0x21])" (( "(") (binary_expression "(int)unaff_s5 < piVar20[0x21]" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (< "<") (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]"))) () ")")) (; ";")) (} "}"))) (if_statement "if (piVar20[0x1f] == 0) {\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" (if "if") (parenthesized_expression "(piVar20[0x1f] == 0)" (( "(") (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                (**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);\n                piVar20[0x21] = 0;\n              }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4e10")) () ")"))) (; ";")) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" (else "else") (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4);\n            if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }\n            FUN_00036ce8(iVar11,iVar19 + 0x4da8);\n            piVar20[0x21] = 0;\n          }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (3 < (int)pppppcVar23) {\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" (if "if") (parenthesized_expression "(3 < (int)pppppcVar23)" (( "(") (binary_expression "3 < (int)pppppcVar23" (number_literal "3") (< "<") (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23"))) () ")")) (compound_statement "{\n              unaff_s5 = (code *****)0x0;\n              pppppcVar17 = pppppcVar24;\n              do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);\n            }" ({ "{") (expression_statement "unaff_s5 = (code *****)0x0;" (assignment_expression "unaff_s5 = (code *****)0x0" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppcVar17 = pppppcVar24;" (assignment_expression "pppppcVar17 = pppppcVar24" (identifier "pppppcVar17") (= "=") (identifier "pppppcVar24")) (; ";")) (do_statement "do {\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              } while (3 < (int)pppppcVar23);" (do "do") (compound_statement "{\n                pppppcVar23 = pppppcVar23 + -1;\n                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);\n                if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }\n                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));\n                iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));\n                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;\n                iVar19 = piVar20[0x21];\n                unaff_s5 = (code *****)((int)unaff_s5 + 1);\n                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);\n                pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);\n                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;\n                iVar19 = *(int *)(puVar26 + 0x72fb4);\n              }" ({ "{") (expression_statement "pppppcVar23 = pppppcVar23 + -1;" (assignment_expression "pppppcVar23 = pppppcVar23 + -1" (identifier "pppppcVar23") (= "=") (binary_expression "pppppcVar23 + -1" (identifier "pppppcVar23") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);" (assignment_expression "pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" (identifier "pppppcVar10") (= "=") (cast_expression "(code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar26 + 0x73100))(*pppppcVar17)" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*pppppcVar17)" (( "(") (pointer_expression "*pppppcVar17" (* "*") (identifier "pppppcVar17")) () ")"))))) (; ";")) (if_statement "if (pppppcVar23 < pppppcVar10) {\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" (if "if") (parenthesized_expression "(pppppcVar23 < pppppcVar10)" (( "(") (binary_expression "pppppcVar23 < pppppcVar10" (identifier "pppppcVar23") (< "<") (identifier "pppppcVar10")) () ")")) (compound_statement "{\nLAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);\n                  break;\n                }" ({ "{") (labeled_statement "LAB_00042a68:\n                  iVar19 = *(int *)(puVar26 + 0x72fb4);" (statement_identifier "LAB_00042a68") (: ":") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10))" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar23 + (-4 - (int)pppppcVar10))" (( "(") (binary_expression "(int)pppppcVar23 + (-4 - (int)pppppcVar10)" (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23")) (+ "+") (parenthesized_expression "(-4 - (int)pppppcVar10)" (( "(") (binary_expression "-4 - (int)pppppcVar10" (number_literal "-4") (- "-") (cast_expression "(int)pppppcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar10"))) () ")"))) () ")")))) (; ";")) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" (identifier "iVar15") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))\n                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)))" (( "(") (pointer_expression "*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" (* "*") (cast_expression "(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" (( "(") (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar17")) (+ "+") (cast_expression "(int)(pppppcVar10 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pppppcVar10 + 1)" (( "(") (binary_expression "pppppcVar10 + 1" (identifier "pppppcVar10") (+ "+") (number_literal "1")) () ")")))) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;" (if "if") (parenthesized_expression "((iVar15 < 0) || ((int)pppppcVar23 < iVar15))" (( "(") (binary_expression "(iVar15 < 0) || ((int)pppppcVar23 < iVar15)" (parenthesized_expression "(iVar15 < 0)" (( "(") (binary_expression "iVar15 < 0" (identifier "iVar15") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)pppppcVar23 < iVar15)" (( "(") (binary_expression "(int)pppppcVar23 < iVar15" (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23")) (< "<") (identifier "iVar15")) () ")"))) () ")")) (goto_statement "goto LAB_00042a68;" (goto "goto") (statement_identifier "LAB_00042a68") (; ";"))) (expression_statement "iVar19 = piVar20[0x21];" (assignment_expression "iVar19 = piVar20[0x21]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "unaff_s5 = (code *****)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code *****)((int)unaff_s5 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)((int)unaff_s5 + 1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s5 + 1)" (( "(") (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);" (assignment_expression "pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)((int)pppppcVar23 - iVar15)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppcVar23 - iVar15)" (( "(") (binary_expression "(int)pppppcVar23 - iVar15" (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23")) (- "-") (identifier "iVar15")) () ")")))) (; ";")) (expression_statement "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);" (assignment_expression "pppppcVar17 = (code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" (identifier "pppppcVar17") (= "=") (cast_expression "(code *****)\n                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4)" (( "(") (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4" (binary_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15" (cast_expression "(code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar17 + (int)(pppppcVar10 + 1))" (( "(") (binary_expression "(int)pppppcVar17 + (int)(pppppcVar10 + 1)" (cast_expression "(int)pppppcVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar17")) (+ "+") (cast_expression "(int)(pppppcVar10 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pppppcVar10 + 1)" (( "(") (binary_expression "pppppcVar10 + 1" (identifier "pppppcVar10") (+ "+") (number_literal "1")) () ")")))) () ")"))) (+ "+") (identifier "iVar15")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;" (if "if") (parenthesized_expression "(iVar19 <= (int)unaff_s5)" (( "(") (binary_expression "iVar19 <= (int)unaff_s5" (identifier "iVar19") (<= "<=") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")")) (goto_statement "goto LAB_00042c08;" (goto "goto") (statement_identifier "LAB_00042c08") (; ";"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(3 < (int)pppppcVar23)" (( "(") (binary_expression "3 < (int)pppppcVar23" (number_literal "3") (< "<") (cast_expression "(int)pppppcVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppcVar23"))) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x4da8);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x4da8)" (identifier "FUN_00036ce8") (argument_list "(iVar11,iVar19 + 0x4da8)" (( "(") (identifier "iVar11") (, ",") (binary_expression "iVar19 + 0x4da8" (identifier "iVar19") (+ "+") (number_literal "0x4da8")) () ")"))) (; ";")) (expression_statement "piVar20[0x21] = 0;" (assignment_expression "piVar20[0x21] = 0" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_0003fc30;" (goto "goto") (statement_identifier "LAB_0003fc30") (; ";")) (} "}"))) (goto_statement "goto LAB_0003fc18;" (goto "goto") (statement_identifier "LAB_0003fc18") (; ";")) (} "}"))) (} "}")))) (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "iVar19 + 0x4e34" (identifier "iVar19") (+ "+") (number_literal "0x4e34")) () ")"))) (; ";")) (labeled_statement "LAB_0003fc30:\n  piVar20[0x13] = 0;" (statement_identifier "LAB_0003fc30") (: ":") (expression_statement "piVar20[0x13] = 0;" (assignment_expression "piVar20[0x13] = 0" (subscript_expression "piVar20[0x13]" (identifier "piVar20") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";"))) (if_statement "if (piVar20[0xd] != 0) goto LAB_0003fe38;" (if "if") (parenthesized_expression "(piVar20[0xd] != 0)" (( "(") (binary_expression "piVar20[0xd] != 0" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fe38;" (goto "goto") (statement_identifier "LAB_0003fe38") (; ";"))) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (labeled_statement "LAB_0003fc40:\n  iVar19 = get_remote_username(uVar2);" (statement_identifier "LAB_0003fc40") (: ":") (expression_statement "iVar19 = get_remote_username(uVar2);" (assignment_expression "iVar19 = get_remote_username(uVar2)" (identifier "iVar19") (= "=") (call_expression "get_remote_username(uVar2)" (identifier "get_remote_username") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";"))) (expression_statement "*(int *)(iVar11 + 0x250) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x250) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x250)" (* "*") (cast_expression "(int *)(iVar11 + 0x250)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 == 0) {\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }\n  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n    piVar20[0xf] = (int)puVar3;\n    *puVar3 = 1;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);\n    pppppcVar23 = (code *****)piVar20[0xf];\n    puVar3[1] = uVar2;\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);\n    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);\n    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }\n    if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }\n    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));\n    iVar19 = piVar20[0xf];\n    pcVar27 = *(code **)(puVar26 + 0x7353c);\n    *(undefined4 *)(iVar11 + 0x250) = uVar2;\n    (*pcVar27)(iVar19);\n  }" ({ "{") (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73530)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73530)" (* "*") (cast_expression "(code **)(puVar26 + 0x73530)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73530)" (( "(") (binary_expression "puVar26 + 0x73530" (identifier "puVar26") (+ "+") (number_literal "0x73530")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e58)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e58" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4e58")) () ")")))) (; ";")) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0xf]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e68)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4e68")) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73534)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73534)" (* "*") (cast_expression "(code **)(puVar26 + 0x73534)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73534)" (( "(") (binary_expression "puVar26 + 0x73534" (identifier "puVar26") (+ "+") (number_literal "0x73534")) () ")"))))) () ")")) (argument_list "(pppppcVar23,uVar2,1)" (( "(") (identifier "pppppcVar23") (, ",") (identifier "uVar2") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf],0,0)" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (labeled_statement "LAB_00040ca4:\n    if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" (statement_identifier "LAB_00040ca4") (: ":") (if_statement "if (iVar19 < 0) {\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x100) = 1;\n      *piVar20 = 0x2561;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x2561;" (assignment_expression "*piVar20 = 0x2561" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2561")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))) (if_statement "if (iVar19 == 0) {\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(puVar26 + 0x7353c))();\n      uVar2 = 0;\n      iVar15 = 0;\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;\n      goto LAB_00040b30;\n    }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x7353c))();" (call_expression "(**(code **)(puVar26 + 0x7353c))()" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7353c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e74" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4e74"))) (; ";")) (goto_statement "goto LAB_00040b30;" (goto "goto") (statement_identifier "LAB_00040b30") (; ";")) (} "}"))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8))" (( "(") (pointer_expression "*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" (* "*") (cast_expression "(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(piVar20[0xf] + 0x18) + 8)" (( "(") (binary_expression "**(int **)(piVar20[0xf] + 0x18) + 8" (pointer_expression "**(int **)(piVar20[0xf] + 0x18)" (* "*") (pointer_expression "*(int **)(piVar20[0xf] + 0x18)" (* "*") (cast_expression "(int **)(piVar20[0xf] + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0xf] + 0x18)" (( "(") (binary_expression "piVar20[0xf] + 0x18" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar19 = piVar20[0xf];" (assignment_expression "iVar19 = piVar20[0xf]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x250) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x250) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "(*pcVar27)(iVar19);" (call_expression "(*pcVar27)(iVar19)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")"))) (; ";")) (} "}")) (else_clause "else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" (else "else") (if_statement "if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" (if "if") (parenthesized_expression "((**(uint **)(puVar26 + 0x730a8) & 5) != 0)" (( "(") (binary_expression "(**(uint **)(puVar26 + 0x730a8) & 5) != 0" (parenthesized_expression "(**(uint **)(puVar26 + 0x730a8) & 5)" (( "(") (binary_expression "**(uint **)(puVar26 + 0x730a8) & 5" (pointer_expression "**(uint **)(puVar26 + 0x730a8)" (* "*") (pointer_expression "*(uint **)(puVar26 + 0x730a8)" (* "*") (cast_expression "(uint **)(puVar26 + 0x730a8)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x730a8)" (( "(") (binary_expression "puVar26 + 0x730a8" (identifier "puVar26") (+ "+") (number_literal "0x730a8")) () ")"))))) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);\n    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);\n    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);\n    (**(code **)(puVar26 + 0x72fdc))(uVar2);\n  }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4e8c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4e8c")) (, ",") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);" (assignment_expression "uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2)" (identifier "uVar14") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,uVar2,uVar14)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (identifier "uVar2") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x72fdc))(uVar2);" (call_expression "(**(code **)(puVar26 + 0x72fdc))(uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x72fdc))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x72fdc)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x72fdc)" (* "*") (cast_expression "(code **)(puVar26 + 0x72fdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x72fdc)" (( "(") (binary_expression "puVar26 + 0x72fdc" (identifier "puVar26") (+ "+") (number_literal "0x72fdc")) () ")"))))) () ")")) (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (} "}"))))) (labeled_statement "LAB_0003fc6c:\n  piVar20[0x13] = 1;" (statement_identifier "LAB_0003fc6c") (: ":") (expression_statement "piVar20[0x13] = 1;" (assignment_expression "piVar20[0x13] = 1" (subscript_expression "piVar20[0x13]" (identifier "piVar20") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "1")) (; ";"))) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ea4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4ea4")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "piVar20[1] = 0;" (assignment_expression "piVar20[1] = 0" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[8] = 0;" (assignment_expression "piVar20[8] = 0" (subscript_expression "piVar20[8]" (identifier "piVar20") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0xc] = 0;" (assignment_expression "piVar20[0xc] = 0" (subscript_expression "piVar20[0xc]" (identifier "piVar20") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[9] = 0;" (assignment_expression "piVar20[9] = 0" (subscript_expression "piVar20[9]" (identifier "piVar20") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar20[0x1c] == 0) goto LAB_0003fb80;" (if "if") (parenthesized_expression "(piVar20[0x1c] == 0)" (( "(") (binary_expression "piVar20[0x1c] == 0" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fb80;" (goto "goto") (statement_identifier "LAB_0003fb80") (; ";"))) (if_statement "if (piVar20[0x1f] == 0) {\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }\n  else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" (if "if") (parenthesized_expression "(piVar20[0x1f] == 0)" (( "(") (binary_expression "piVar20[0x1f] == 0" (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar20[0x20] = 0;\n    piVar20[0x1d] = piVar20[0x1c] + 9;\n    *piVar20 = 0x25a0;\n  }" ({ "{") (expression_statement "piVar20[0x20] = 0;" (assignment_expression "piVar20[0x20] = 0" (subscript_expression "piVar20[0x20]" (identifier "piVar20") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[0x1d] = piVar20[0x1c] + 9;" (assignment_expression "piVar20[0x1d] = piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (binary_expression "piVar20[0x1c] + 9" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "9"))) (; ";")) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x25a0")) (; ";")) (} "}")) (else_clause "else {\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" (else "else") (compound_statement "{\n    piVar20[0x1d] = piVar20[0x1f];\n    *piVar20 = 0x25a0;\n  }" ({ "{") (expression_statement "piVar20[0x1d] = piVar20[0x1f];" (assignment_expression "piVar20[0x1d] = piVar20[0x1f]" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (subscript_expression "piVar20[0x1f]" (identifier "piVar20") ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x25a0")) (; ";")) (} "}")))) (labeled_statement "LAB_0003fd3c:\n  if (iStack_84 == *piVar21) {\n    return;\n  }" (statement_identifier "LAB_0003fd3c") (: ":") (if_statement "if (iStack_84 == *piVar21) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_84 == *piVar21)" (( "(") (binary_expression "iStack_84 == *piVar21" (identifier "iStack_84") (== "==") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar26 + 0x73ae4))();" (call_expression "(**(code **)(puVar26 + 0x73ae4))()" (parenthesized_expression "(**(code **)(puVar26 + 0x73ae4))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73ae4)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73ae4)" (* "*") (cast_expression "(code **)(puVar26 + 0x73ae4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73ae4)" (( "(") (binary_expression "puVar26 + 0x73ae4" (identifier "puVar26") (+ "+") (number_literal "0x73ae4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00042b98:\n  (**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" (statement_identifier "LAB_00042b98") (: ":") (expression_statement "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);" (call_expression "(**(code **)(puVar26 + 0x73038))\n            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5318" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5318")) () ")"))) (; ";"))) (expression_statement "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);" (call_expression "(**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 0x10))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 0x10)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 0x10)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 0x10)" (( "(") (binary_expression "piVar20[0x30] + 0x10" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],pppppcVar23)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (identifier "pppppcVar23") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (labeled_statement "LAB_0003fb74:\n  ppppcStack_94 = (code ****)0x0;" (statement_identifier "LAB_0003fb74") (: ":") (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" (identifier "ppppcStack_94") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_0003fb80;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fb80;" (goto "goto") (statement_identifier "LAB_0003fb80") (; ";"))) (labeled_statement "LAB_0003f824:\n  ppppcStack_90 = (code ****)0x0;" (statement_identifier "LAB_0003f824") (: ":") (expression_statement "ppppcStack_90 = (code ****)0x0;" (assignment_expression "ppppcStack_90 = (code ****)0x0" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppcStack_94 = (code ****)0x0;" (assignment_expression "ppppcStack_94 = (code ****)0x0" (identifier "ppppcStack_94") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0003f828:\n  pppppcVar23 = (code *****)(iVar11 + 0x178);" (statement_identifier "LAB_0003f828") (: ":") (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x178);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x178)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(iVar11 + 0x178)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar11 + 0x178)" (( "(") (binary_expression "iVar11 + 0x178" (identifier "iVar11") (+ "+") (number_literal "0x178")) () ")")))) (; ";"))) (expression_statement "iVar19 = bufchain_size(pppppcVar23);" (assignment_expression "iVar19 = bufchain_size(pppppcVar23)" (identifier "iVar19") (= "=") (call_expression "bufchain_size(pppppcVar23)" (identifier "bufchain_size") (argument_list "(pppppcVar23)" (( "(") (identifier "pppppcVar23") () ")")))) (; ";")) (if_statement "if (iVar19 != 0) {\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    unaff_s5 = *(code ******)(puVar26 + 0x730a8);\n    if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }\n  }" ({ "{") (expression_statement "unaff_s5 = *(code ******)(puVar26 + 0x730a8);" (assignment_expression "unaff_s5 = *(code ******)(puVar26 + 0x730a8)" (identifier "unaff_s5") (= "=") (pointer_expression "*(code ******)(puVar26 + 0x730a8)" (* "*") (cast_expression "(code ******)(puVar26 + 0x730a8)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + 0x730a8)" (( "(") (binary_expression "puVar26 + 0x730a8" (identifier "puVar26") (+ "+") (number_literal "0x730a8")) () ")"))))) (; ";")) (if_statement "if (((uint)*unaff_s5 & 5) != 0) {\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" (if "if") (parenthesized_expression "(((uint)*unaff_s5 & 5) != 0)" (( "(") (binary_expression "((uint)*unaff_s5 & 5) != 0" (parenthesized_expression "((uint)*unaff_s5 & 5)" (( "(") (binary_expression "(uint)*unaff_s5 & 5" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "unaff_s5")) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);\n      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);\n      if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }\n      safefree(pcVar9);\n    }" ({ "{") (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" (identifier "pcVar9") (= "=") (cast_expression "(char *)(**(code **)(puVar26 + 0x73014))(iVar19,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73014))(iVar19,1)" (parenthesized_expression "(**(code **)(puVar26 + 0x73014))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73014)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73014)" (* "*") (cast_expression "(code **)(puVar26 + 0x73014)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73014)" (( "(") (binary_expression "puVar26 + 0x73014" (identifier "puVar26") (+ "+") (number_literal "0x73014")) () ")"))))) () ")")) (argument_list "(iVar19,1)" (( "(") (identifier "iVar19") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);" (call_expression "(**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x7304c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7304c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7304c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7304c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7304c)" (( "(") (binary_expression "puVar26 + 0x7304c" (identifier "puVar26") (+ "+") (number_literal "0x7304c")) () ")"))))) () ")")) (argument_list "(pppppcVar23,pcVar9,iVar19)" (( "(") (identifier "pppppcVar23") (, ",") (identifier "pcVar9") (, ",") (identifier "iVar19") () ")"))) (; ";")) (if_statement "if (((uint)*unaff_s5 & 2) == 0) {\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }\n      else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" (if "if") (parenthesized_expression "(((uint)*unaff_s5 & 2) == 0)" (( "(") (binary_expression "((uint)*unaff_s5 & 2) == 0" (parenthesized_expression "((uint)*unaff_s5 & 2)" (( "(") (binary_expression "(uint)*unaff_s5 & 2" (binary_expression "(uint)*unaff_s5" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "unaff_s5")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);\n      }" ({ "{") (expression_statement "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);" (call_expression "from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" (identifier "from_backend_untrusted") (argument_list "(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (identifier "pcVar9") (, ",") (identifier "iVar19") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" (else "else") (compound_statement "{\n        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);\n        if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }\n      }" ({ "{") (expression_statement "puVar3 = *(undefined4 **)(puVar26 + 0x73b28);" (assignment_expression "puVar3 = *(undefined4 **)(puVar26 + 0x73b28)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(puVar26 + 0x73b28)" (* "*") (cast_expression "(undefined4 **)(puVar26 + 0x73b28)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b28)" (( "(") (binary_expression "puVar26 + 0x73b28" (identifier "puVar26") (+ "+") (number_literal "0x73b28")) () ")"))))) (; ";")) (if_statement "if (0 < iVar19) {\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" (if "if") (parenthesized_expression "(0 < iVar19)" (( "(") (binary_expression "0 < iVar19" (number_literal "0") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n          unaff_s5 = (code *****)&DAT_0000000d;\n          pcVar25 = pcVar9;\n          do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);\n        }" ({ "{") (expression_statement "unaff_s5 = (code *****)&DAT_0000000d;" (assignment_expression "unaff_s5 = (code *****)&DAT_0000000d" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)&DAT_0000000d" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&DAT_0000000d" (& "&") (identifier "DAT_0000000d")))) (; ";")) (expression_statement "pcVar25 = pcVar9;" (assignment_expression "pcVar25 = pcVar9" (identifier "pcVar25") (= "=") (identifier "pcVar9")) (; ";")) (do_statement "do {\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          } while (pcVar25 != pcVar9 + iVar19);" (do "do") (compound_statement "{\n            uVar8 = (uint)*pcVar25;\n            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }\n            pcVar25 = pcVar25 + 1;\n          }" ({ "{") (expression_statement "uVar8 = (uint)*pcVar25;" (assignment_expression "uVar8 = (uint)*pcVar25" (identifier "uVar8") (= "=") (binary_expression "(uint)*pcVar25" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pcVar25"))) (; ";")) (if_statement "if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" (if "if") (parenthesized_expression "((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0))))" (( "(") (binary_expression "(uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" (parenthesized_expression "(uVar8 != 0xd)" (( "(") (binary_expression "uVar8 != 0xd" (identifier "uVar8") (!= "!=") (number_literal "0xd")) () ")")) (&& "&&") (parenthesized_expression "((uVar8 == 10 || ((uVar8 & 0x60) != 0)))" (( "(") (parenthesized_expression "(uVar8 == 10 || ((uVar8 & 0x60) != 0))" (( "(") (binary_expression "uVar8 == 10 || ((uVar8 & 0x60) != 0)" (binary_expression "uVar8 == 10" (identifier "uVar8") (== "==") (number_literal "10")) (|| "||") (parenthesized_expression "((uVar8 & 0x60) != 0)" (( "(") (binary_expression "(uVar8 & 0x60) != 0" (parenthesized_expression "(uVar8 & 0x60)" (( "(") (binary_expression "uVar8 & 0x60" (identifier "uVar8") (& "&") (number_literal "0x60")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);\n            }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);" (call_expression "(**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3)" (parenthesized_expression "(**(code **)(puVar26 + 0x739c4))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x739c4)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x739c4)" (* "*") (cast_expression "(code **)(puVar26 + 0x739c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x739c4)" (( "(") (binary_expression "puVar26 + 0x739c4" (identifier "puVar26") (+ "+") (number_literal "0x739c4")) () ")"))))) () ")")) (argument_list "(uVar8,*puVar3)" (( "(") (identifier "uVar8") (, ",") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar25 != pcVar9 + iVar19)" (( "(") (binary_expression "pcVar25 != pcVar9 + iVar19" (identifier "pcVar25") (!= "!=") (binary_expression "pcVar9 + iVar19" (identifier "pcVar9") (+ "+") (identifier "iVar19"))) () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "safefree(pcVar9);" (call_expression "safefree(pcVar9)" (identifier "safefree") (argument_list "(pcVar9)" (( "(") (identifier "pcVar9") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "bufchain_clear(pppppcVar23);" (call_expression "bufchain_clear(pppppcVar23)" (identifier "bufchain_clear") (argument_list "(pppppcVar23)" (( "(") (identifier "pppppcVar23") () ")"))) (; ";")) (expression_statement "ppppcVar4 = pppppcVar24[2];" (assignment_expression "ppppcVar4 = pppppcVar24[2]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[2]" (identifier "pppppcVar24") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (ppppcVar4 == (code ****)0x34) {\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" (if "if") (parenthesized_expression "(ppppcVar4 == (code ****)0x34)" (( "(") (binary_expression "ppppcVar4 == (code ****)0x34" (identifier "ppppcVar4") (== "==") (cast_expression "(code ****)0x34" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x34"))) () ")")) (compound_statement "{\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);\n    piVar20[0xe] = 1;\n    piVar20[0xd] = 1;\nLAB_0003fe38:\n    iVar19 = piVar20[0x14];\n    *(undefined4 *)(iVar11 + 0x344) = 0;\n    if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }\n    if (piVar20[0x1c] != 0) {\n      safefree();\n    }\n    iVar19 = *(int *)(puVar26 + 0x7336c);\n    if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }\n    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);\n    *(undefined4 *)(iVar11 + 0x124) = uVar2;\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;\n    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;\n    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);\n    if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }\n    goto LAB_0003fd3c;\n  }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4eac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4eac")) () ")"))) (; ";")) (expression_statement "piVar20[0xe] = 1;" (assignment_expression "piVar20[0xe] = 1" (subscript_expression "piVar20[0xe]" (identifier "piVar20") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[0xd] = 1;" (assignment_expression "piVar20[0xd] = 1" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0003fe38:\n    iVar19 = piVar20[0x14];" (statement_identifier "LAB_0003fe38") (: ":") (expression_statement "iVar19 = piVar20[0x14];" (assignment_expression "iVar19 = piVar20[0x14]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]"))) (; ";"))) (expression_statement "*(undefined4 *)(iVar11 + 0x344) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x344) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x344)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x344)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x344)" (( "(") (binary_expression "iVar11 + 0x344" (identifier "iVar11") (+ "+") (number_literal "0x344")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar19 != 0) {\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      safefree(piVar20[0x18]);\n      safefree(piVar20[0x14]);\n      safefree(piVar20[0x19]);\n    }" ({ "{") (expression_statement "safefree(piVar20[0x18]);" (call_expression "safefree(piVar20[0x18])" (identifier "safefree") (argument_list "(piVar20[0x18])" (( "(") (subscript_expression "piVar20[0x18]" (identifier "piVar20") ([ "[") (number_literal "0x18") (] "]")) () ")"))) (; ";")) (expression_statement "safefree(piVar20[0x14]);" (call_expression "safefree(piVar20[0x14])" (identifier "safefree") (argument_list "(piVar20[0x14])" (( "(") (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) () ")"))) (; ";")) (expression_statement "safefree(piVar20[0x19]);" (call_expression "safefree(piVar20[0x19])" (identifier "safefree") (argument_list "(piVar20[0x19])" (( "(") (subscript_expression "piVar20[0x19]" (identifier "piVar20") ([ "[") (number_literal "0x19") (] "]")) () ")"))) (; ";")) (} "}"))) (if_statement "if (piVar20[0x1c] != 0) {\n      safefree();\n    }" (if "if") (parenthesized_expression "(piVar20[0x1c] != 0)" (( "(") (binary_expression "piVar20[0x1c] != 0" (subscript_expression "piVar20[0x1c]" (identifier "piVar20") ([ "[") (number_literal "0x1c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      safefree();\n    }" ({ "{") (expression_statement "safefree();" (call_expression "safefree()" (identifier "safefree") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")"))))) (; ";")) (if_statement "if (piVar20[0xe] == 0) {\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }\n    else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" (if "if") (parenthesized_expression "(piVar20[0xe] == 0)" (( "(") (binary_expression "piVar20[0xe] == 0" (subscript_expression "piVar20[0xe]" (identifier "piVar20") ([ "[") (number_literal "0xe") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n    }" ({ "{") (labeled_statement "LAB_0003fecc:\n      pcVar27 = *(code **)(puVar26 + 0x730c8);" (statement_identifier "LAB_0003fecc") (: ":") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x730c8)" (* "*") (cast_expression "(code **)(puVar26 + 0x730c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x730c8)" (( "(") (binary_expression "puVar26 + 0x730c8" (identifier "puVar26") (+ "+") (number_literal "0x730c8")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" (else "else") (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x730c8);\n      if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }\n    }" ({ "{") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x730c8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x730c8)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x730c8)" (* "*") (cast_expression "(code **)(puVar26 + 0x730c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x730c8)" (( "(") (binary_expression "puVar26 + 0x730c8" (identifier "puVar26") (+ "+") (number_literal "0x730c8")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0xec) == 0) {\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0xec) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0xec) == 0" (pointer_expression "*(int *)(iVar11 + 0xec)" (* "*") (cast_expression "(int *)(iVar11 + 0xec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xec)" (( "(") (binary_expression "iVar11 + 0xec" (identifier "iVar11") (+ "+") (number_literal "0xec")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);\n        iVar19 = *(int *)(puVar26 + 0x7336c);\n        goto LAB_0003fecc;\n      }" ({ "{") (expression_statement "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);" (call_expression "FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" (identifier "FUN_00042dec") (argument_list "(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55c8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x55c8")) (, ",") (number_literal "0xfffffffe") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x7336c);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x7336c)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x7336c)" (* "*") (cast_expression "(int *)(puVar26 + 0x7336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x7336c)" (( "(") (binary_expression "puVar26 + 0x7336c" (identifier "puVar26") (+ "+") (number_literal "0x7336c")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003fecc;" (goto "goto") (statement_identifier "LAB_0003fecc") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar2 = (*pcVar27)(iVar19 + 0x6ba0);" (assignment_expression "uVar2 = (*pcVar27)(iVar19 + 0x6ba0)" (identifier "uVar2") (= "=") (call_expression "(*pcVar27)(iVar19 + 0x6ba0)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar19 + 0x6ba0)" (( "(") (binary_expression "iVar19 + 0x6ba0" (identifier "iVar19") (+ "+") (number_literal "0x6ba0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x124) = uVar2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x124) = uVar2" (pointer_expression "*(undefined4 *)(iVar11 + 0x124)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x124)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x124)" (( "(") (binary_expression "iVar11 + 0x124" (identifier "iVar11") (+ "+") (number_literal "0x124")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;" (assignment_expression "*(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(iVar11 + 0x3e4)" (* "*") (cast_expression "(int *)(iVar11 + 0x3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3e4)" (( "(") (binary_expression "iVar11 + 0x3e4" (identifier "iVar11") (+ "+") (number_literal "0x3e4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ed8" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "-0x4ed8"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;" (assignment_expression "*(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(iVar11 + 0x3b0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3b0)" (( "(") (binary_expression "iVar11 + 0x3b0" (identifier "iVar11") (+ "+") (number_literal "0x3b0")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x6eec" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "0x6eec"))) (; ";")) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2d)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2d") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar5 = (int *)safemalloc(1,0x5c);\n      *(int **)(iVar11 + 0x128) = piVar5;\n      *piVar5 = iVar11;\n      FUN_0003e1f8(piVar5);\n      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n      if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }\n    }" ({ "{") (expression_statement "piVar5 = (int *)safemalloc(1,0x5c);" (assignment_expression "piVar5 = (int *)safemalloc(1,0x5c)" (identifier "piVar5") (= "=") (cast_expression "(int *)safemalloc(1,0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(1,0x5c)" (identifier "safemalloc") (argument_list "(1,0x5c)" (( "(") (number_literal "1") (, ",") (number_literal "0x5c") () ")"))))) (; ";")) (expression_statement "*(int **)(iVar11 + 0x128) = piVar5;" (assignment_expression "*(int **)(iVar11 + 0x128) = piVar5" (pointer_expression "*(int **)(iVar11 + 0x128)" (* "*") (cast_expression "(int **)(iVar11 + 0x128)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (identifier "piVar5")) (; ";")) (expression_statement "*piVar5 = iVar11;" (assignment_expression "*piVar5 = iVar11" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar11")) (; ";")) (expression_statement "FUN_0003e1f8(piVar5);" (call_expression "FUN_0003e1f8(piVar5)" (identifier "FUN_0003e1f8") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (identifier "pcVar9") (= "=") (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73094)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73094)" (* "*") (cast_expression "(code **)(puVar26 + 0x73094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73094)" (( "(") (binary_expression "puVar26 + 0x73094" (identifier "puVar26") (+ "+") (number_literal "0x73094")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2e") () ")"))))) (; ";")) (if_statement "if (*pcVar9 == '\0') {\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }\n      else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" (if "if") (parenthesized_expression "(*pcVar9 == '\0')" (( "(") (binary_expression "*pcVar9 == '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);\n        uVar2 = *(undefined4 *)(iVar11 + 0x110);\n        piVar20[0x2e] = iVar19;\n        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        *(undefined4 *)(iVar11 + 300) = 0;\n        *piVar20 = 0x2a03;\n      }" ({ "{") (expression_statement "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718);" (assignment_expression "iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" (identifier "iVar19") (= "=") (call_expression "FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" (identifier "FUN_0003c284") (argument_list "(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,\n                              *(int *)(puVar26 + 0x72fb4) + 0x7718)" (( "(") (binary_expression "*(int *)(iVar11 + 0x128) + 8" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "8")) (, ",") (binary_expression "*(int *)(iVar11 + 0x128) + 0x34" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (+ "+") (number_literal "0x34")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7718" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x7718")) () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x110);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x110)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);" (call_expression "(**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8)" (( "(") (identifier "uVar2") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55f8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x55f8")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 300) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 300)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 300)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 300)" (( "(") (binary_expression "iVar11 + 300" (identifier "iVar11") (+ "+") (number_literal "300")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2a03")) (; ";")) (} "}")) (else_clause "else {\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" (else "else") (compound_statement "{\n        uVar14 = *(undefined4 *)(iVar11 + 0x128);\n        pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);\n        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);\n        ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);\n        *(undefined4 *)(iVar11 + 300) = 1;\nLAB_00040660:\n        *piVar20 = 0x2a03;\n      }" ({ "{") (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x128)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);" (assignment_expression "pppppcVar23 = (code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)\n                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73094)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73094)" (* "*") (cast_expression "(code **)(puVar26 + 0x73094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73094)" (( "(") (binary_expression "puVar26 + 0x73094" (identifier "puVar26") (+ "+") (number_literal "0x73094")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2e)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2e") () ")"))))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2f)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2f") () ")")))) (; ";")) (expression_statement "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);" (call_expression "ssh_send_port_open(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" (identifier "ssh_send_port_open") (argument_list "(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8)" (( "(") (identifier "uVar14") (, ",") (identifier "pppppcVar23") (, ",") (identifier "uVar2") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x55e8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x55e8")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 300) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 300) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 300)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 300)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 300)" (( "(") (binary_expression "iVar11 + 300" (identifier "iVar11") (+ "+") (number_literal "300")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00040660:\n        *piVar20 = 0x2a03;" (statement_identifier "LAB_00040660") (: ":") (expression_statement "*piVar20 = 0x2a03;" (assignment_expression "*piVar20 = 0x2a03" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2a03")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x128) = 0;\nLAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      iVar19 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;\n      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;\n      iVar15 = *(int *)(puVar26 + 0x73504);\n      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;\n      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;\n      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;\n      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;\n      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;\n      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;\n      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;\n      if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }\n      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }\n      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));\n      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x128) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x128) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0003ff14:\n      iVar15 = *(int *)(puVar26 + 0x73504);" (statement_identifier "LAB_0003ff14") (: ":") (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")"))))) (; ";"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x73504)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 0x3ec)" (* "*") (cast_expression "(int *)(iVar11 + 0x3ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3ec)" (( "(") (binary_expression "iVar11 + 0x3ec" (identifier "iVar11") (+ "+") (number_literal "0x3ec")) () ")")))) (= "=") (binary_expression "iVar15 + -0x5294" (identifier "iVar15") (+ "+") (number_literal "-0x5294"))) (; ";")) (expression_statement "*(int *)(iVar11 + 1000) = iVar15 + -0x5294;" (assignment_expression "*(int *)(iVar11 + 1000) = iVar15 + -0x5294" (pointer_expression "*(int *)(iVar11 + 1000)" (* "*") (cast_expression "(int *)(iVar11 + 1000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 1000)" (( "(") (binary_expression "iVar11 + 1000" (identifier "iVar11") (+ "+") (number_literal "1000")) () ")")))) (= "=") (binary_expression "iVar15 + -0x5294" (identifier "iVar15") (+ "+") (number_literal "-0x5294"))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x3fc)" (* "*") (cast_expression "(int *)(iVar11 + 0x3fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3fc)" (( "(") (binary_expression "iVar11 + 0x3fc" (identifier "iVar11") (+ "+") (number_literal "0x3fc")) () ")")))) (= "=") (binary_expression "iVar19 + -0x4d18" (identifier "iVar19") (+ "+") (number_literal "-0x4d18"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;" (assignment_expression "*(int *)(iVar11 + 0x400) = iVar19 + -0x4d18" (pointer_expression "*(int *)(iVar11 + 0x400)" (* "*") (cast_expression "(int *)(iVar11 + 0x400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x400)" (( "(") (binary_expression "iVar11 + 0x400" (identifier "iVar11") (+ "+") (number_literal "0x400")) () ")")))) (= "=") (binary_expression "iVar19 + -0x4d18" (identifier "iVar19") (+ "+") (number_literal "-0x4d18"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;" (assignment_expression "*(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950" (pointer_expression "*(int *)(iVar11 + 0x3f0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3f0)" (( "(") (binary_expression "iVar11 + 0x3f0" (identifier "iVar11") (+ "+") (number_literal "0x3f0")) () ")")))) (= "=") (binary_expression "iVar15 + -0x4950" (identifier "iVar15") (+ "+") (number_literal "-0x4950"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;" (assignment_expression "*(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(iVar11 + 0x3f4)" (* "*") (cast_expression "(int *)(iVar11 + 0x3f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3f4)" (( "(") (binary_expression "iVar11 + 0x3f4" (identifier "iVar11") (+ "+") (number_literal "0x3f4")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4ac8" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "-0x4ac8"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;" (assignment_expression "*(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(iVar11 + 0x3dc)" (* "*") (cast_expression "(int *)(iVar11 + 0x3dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3dc)" (( "(") (binary_expression "iVar11 + 0x3dc" (identifier "iVar11") (+ "+") (number_literal "0x3dc")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + -0x4c28" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "-0x4c28"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;" (assignment_expression "*(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(iVar11 + 0x3e0)" (* "*") (cast_expression "(int *)(iVar11 + 0x3e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3e0)" (( "(") (binary_expression "iVar11 + 0x3e0" (identifier "iVar11") (+ "+") (number_literal "0x3e0")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + -0x7a0c" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "-0x7a0c"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;" (assignment_expression "*(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(iVar11 + 0x3f8)" (* "*") (cast_expression "(int *)(iVar11 + 0x3f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3f8)" (( "(") (binary_expression "iVar11 + 0x3f8" (identifier "iVar11") (+ "+") (number_literal "0x3f8")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x7d24" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "0x7d24"))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;" (assignment_expression "*(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(iVar11 + 0x3d8)" (* "*") (cast_expression "(int *)(iVar11 + 0x3d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x3d8)" (( "(") (binary_expression "iVar11 + 0x3d8" (identifier "iVar11") (+ "+") (number_literal "0x3d8")) () ")")))) (= "=") (binary_expression "*(int *)(puVar26 + 0x734a0) + 0x642c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "0x642c"))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0xf4) != 0) {\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0xf4) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0xf4) != 0" (pointer_expression "*(int *)(iVar11 + 0xf4)" (* "*") (cast_expression "(int *)(iVar11 + 0xf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xf4)" (( "(") (binary_expression "iVar11 + 0xf4" (identifier "iVar11") (+ "+") (number_literal "0xf4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));" (call_expression "(**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" (parenthesized_expression "(**(code **)(puVar26 + 0x73544))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73544)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73544)" (* "*") (cast_expression "(code **)(puVar26 + 0x73544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73544)" (( "(") (binary_expression "puVar26 + 0x73544" (identifier "puVar26") (+ "+") (number_literal "0x73544")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8))" (( "(") (pointer_expression "*(int *)(iVar11 + 0xf4)" (* "*") (cast_expression "(int *)(iVar11 + 0xf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xf4)" (( "(") (binary_expression "iVar11 + 0xf4" (identifier "iVar11") (+ "+") (number_literal "0xf4")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0))" (( "(") (binary_expression "(*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x128) != 0" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 = FUN_0003769c(iVar11), iVar19 != 0)" (( "(") (comma_expression "iVar19 = FUN_0003769c(iVar11), iVar19 != 0" (assignment_expression "iVar19 = FUN_0003769c(iVar11)" (identifier "iVar19") (= "=") (call_expression "FUN_0003769c(iVar11)" (identifier "FUN_0003769c") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")")))) (, ",") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);\n        piVar20[0x2e] = iVar19;\n        FUN_000463f8(iVar11,iVar19);\n      }" ({ "{") (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" (identifier "iVar19") (= "=") (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" (identifier "FUN_0003c380") (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0\n                              ,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x56e0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x56e0")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" (identifier "FUN_000463f8") (argument_list "(iVar11,iVar19)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar19") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));" (call_expression "FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248))" (identifier "FUN_00049578") (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x248))" (( "(") (identifier "iVar11") (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }\n      else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0))" (( "(") (binary_expression "(*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)" (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar11 + 300) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 300) != 0" (pointer_expression "*(int *)(iVar11 + 300)" (* "*") (cast_expression "(int *)(iVar11 + 300)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 300)" (( "(") (binary_expression "iVar11 + 300" (identifier "iVar11") (+ "+") (number_literal "300")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x104) = 1;\n        *(undefined4 *)(iVar11 + 0x108) = 1;\nLAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;\n        if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }\n        if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }\n        if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }\n        if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x104) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x104) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x104)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x104)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x104)" (( "(") (binary_expression "iVar11 + 0x104" (identifier "iVar11") (+ "+") (number_literal "0x104")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x108) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x108) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x108)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x108)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x108)" (( "(") (binary_expression "iVar11 + 0x108" (identifier "iVar11") (+ "+") (number_literal "0x108")) () ")")))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0003ffec:\n        *(undefined4 *)(iVar11 + 0x144) = 3;" (statement_identifier "LAB_0003ffec") (: ":") (expression_statement "*(undefined4 *)(iVar11 + 0x144) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x144) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x144)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x144)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x144)" (( "(") (binary_expression "iVar11 + 0x144" (identifier "iVar11") (+ "+") (number_literal "0x144")) () ")")))) (= "=") (number_literal "3")) (; ";"))) (if_statement "if (*(int *)(iVar11 + 0x148) != 0) {\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x148) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x148) != 0" (pointer_expression "*(int *)(iVar11 + 0x148)" (* "*") (cast_expression "(int *)(iVar11 + 0x148)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x148)" (( "(") (binary_expression "iVar11 + 0x148" (identifier "iVar11") (+ "+") (number_literal "0x148")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));\n        }" ({ "{") (expression_statement "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));" (call_expression "FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" (identifier "FUN_0004a3a4") (argument_list "(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120))" (( "(") (identifier "iVar11") (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x11c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x11c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x11c)" (( "(") (binary_expression "iVar11 + 0x11c" (identifier "iVar11") (+ "+") (number_literal "0x11c")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x120)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x120)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x120)" (( "(") (binary_expression "iVar11 + 0x120" (identifier "iVar11") (+ "+") (number_literal "0x120")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar11 + 0x14c) != 0) {\n          FUN_0004f144(iVar11,0xc);\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x14c) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x14c) != 0" (pointer_expression "*(int *)(iVar11 + 0x14c)" (* "*") (cast_expression "(int *)(iVar11 + 0x14c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x14c)" (( "(") (binary_expression "iVar11 + 0x14c" (identifier "iVar11") (+ "+") (number_literal "0x14c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_0004f144(iVar11,0xc);\n        }" ({ "{") (expression_statement "FUN_0004f144(iVar11,0xc);" (call_expression "FUN_0004f144(iVar11,0xc)" (identifier "FUN_0004f144") (argument_list "(iVar11,0xc)" (( "(") (identifier "iVar11") (, ",") (number_literal "0xc") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar11 + 0x14) != 0) {\n          ldisc_echoedit_update();\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x14) != 0" (pointer_expression "*(int *)(iVar11 + 0x14)" (* "*") (cast_expression "(int *)(iVar11 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          ldisc_echoedit_update();\n        }" ({ "{") (expression_statement "ldisc_echoedit_update();" (call_expression "ldisc_echoedit_update()" (identifier "ldisc_echoedit_update") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar11 + 0x128) == 0) {\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }\n        else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x128) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x128) == 0" (pointer_expression "*(int *)(iVar11 + 0x128)" (* "*") (cast_expression "(int *)(iVar11 + 0x128)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0003f7c4:\n          *piVar20 = 0x2abd;\n        }" ({ "{") (labeled_statement "LAB_0003f7c4:\n          *piVar20 = 0x2abd;" (statement_identifier "LAB_0003f7c4") (: ":") (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2abd")) (; ";"))) (} "}")) (else_clause "else {\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)(iVar11 + 0x100) = 1;\n          *piVar20 = 0x2abd;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x2abd;" (assignment_expression "*piVar20 = 0x2abd" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2abd")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" (else "else") (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);\n        if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }\n        iVar19 = ssh_agent_forwarding_permitted(iVar11);\n        if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);\n        if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }\n        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);\n        if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }\n        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);\n        if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }\n        FUN_000463f8(iVar11,iVar19);\nLAB_00041870:\n        *piVar20 = 0x2a90;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x95)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x95") () ")")))) (; ";")) (if_statement "if (iVar19 != 0) {\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);\n          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));\n          *(int *)(iVar11 + 0x18c) = iVar19;\n          if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }\n        }" ({ "{") (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73094)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73094)" (* "*") (cast_expression "(code **)(puVar26 + 0x73094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73094)" (( "(") (binary_expression "puVar26 + 0x73094" (identifier "puVar26") (+ "+") (number_literal "0x73094")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x96)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x96") () ")")))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73570))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73570)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73570)" (* "*") (cast_expression "(code **)(puVar26 + 0x73570)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73570)" (( "(") (binary_expression "puVar26 + 0x73570" (identifier "puVar26") (+ "+") (number_literal "0x73570")) () ")"))))) () ")")) (argument_list "(uVar2,*(undefined4 *)(iVar11 + 0x248))" (( "(") (identifier "uVar2") (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x18c) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x18c) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x18c)" (* "*") (cast_expression "(int *)(iVar11 + 0x18c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x18c)" (( "(") (binary_expression "iVar11 + 0x18c" (identifier "iVar11") (+ "+") (number_literal "0x18c")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 == 0) {\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }\n          else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);\n          }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5704" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5704")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" (else "else") (compound_statement "{\n            uVar14 = *(undefined4 *)(iVar11 + 0x194);\n            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);\n            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);\n            uVar2 = *(undefined4 *)(iVar11 + 0x128);\n            *(int *)(iVar11 + 400) = iVar19;\n            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);\n            FUN_00046fcc(uVar2,0,0);\n          }" ({ "{") (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x194);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x194)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x194)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x194)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x194)" (( "(") (binary_expression "iVar11 + 0x194" (identifier "iVar11") (+ "+") (number_literal "0x194")) () ")"))))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x97)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x97") () ")")))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73528))(uVar14,uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73528))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73528)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73528)" (* "*") (cast_expression "(code **)(puVar26 + 0x73528)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73528)" (( "(") (binary_expression "puVar26 + 0x73528" (identifier "puVar26") (+ "+") (number_literal "0x73528")) () ")"))))) () ")")) (argument_list "(uVar14,uVar2)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x128);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x128)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (expression_statement "*(int *)(iVar11 + 400) = iVar19;" (assignment_expression "*(int *)(iVar11 + 400) = iVar19" (pointer_expression "*(int *)(iVar11 + 400)" (* "*") (cast_expression "(int *)(iVar11 + 400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 400)" (( "(") (binary_expression "iVar11 + 400" (identifier "iVar11") (+ "+") (number_literal "400")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);" (assignment_expression "*(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c)" (pointer_expression "*(undefined4 *)(iVar19 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar19 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x1c)" (( "(") (binary_expression "iVar19 + 0x1c" (identifier "iVar19") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x18c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x18c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x18c)" (( "(") (binary_expression "iVar11 + 0x18c" (identifier "iVar11") (+ "+") (number_literal "0x18c")) () ")"))))) (; ";")) (expression_statement "FUN_00046fcc(uVar2,0,0);" (call_expression "FUN_00046fcc(uVar2,0,0)" (identifier "FUN_00046fcc") (argument_list "(uVar2,0,0)" (( "(") (identifier "uVar2") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar19 = ssh_agent_forwarding_permitted(iVar11);" (assignment_expression "iVar19 = ssh_agent_forwarding_permitted(iVar11)" (identifier "iVar19") (= "=") (call_expression "ssh_agent_forwarding_permitted(iVar11)" (identifier "ssh_agent_forwarding_permitted") (argument_list "(iVar11)" (( "(") (identifier "iVar11") () ")")))) (; ";")) (if_statement "if (iVar19 != 0) {\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" ({ "{") (expression_statement "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0)" (identifier "FUN_000471a8") (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x16)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x16") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) {\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);\n        }" ({ "{") (expression_statement "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0)" (identifier "FUN_000472d4") (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);" (call_expression "FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0)" (identifier "FUN_00047600") (argument_list "(*(undefined4 *)(iVar11 + 0x128),0,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0x174) == 0) {\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }\n        else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x174) == 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x174) == 0" (pointer_expression "*(int *)(iVar11 + 0x174)" (* "*") (cast_expression "(int *)(iVar11 + 0x174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x174)" (( "(") (binary_expression "iVar11 + 0x174" (identifier "iVar11") (+ "+") (number_literal "0x174")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);\n          uVar2 = 0x14;\n        }" ({ "{") (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2b)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2b") () ")"))))) (; ";")) (expression_statement "uVar2 = 0x14;" (assignment_expression "uVar2 = 0x14" (identifier "uVar2") (= "=") (number_literal "0x14")) (; ";")) (} "}")) (else_clause "else {\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" (else "else") (compound_statement "{\nLAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);\n          uVar2 = 0x15;\n        }" ({ "{") (labeled_statement "LAB_0004261c:\n          pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" (statement_identifier "LAB_0004261c") (: ":") (expression_statement "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);" (assignment_expression "pppppcVar23 = (code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)\n                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x2c)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x2c") () ")"))))) (; ";"))) (expression_statement "uVar2 = 0x15;" (assignment_expression "uVar2 = 0x15" (identifier "uVar2") (= "=") (number_literal "0x15")) (; ";")) (} "}")))) (expression_statement "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);" (assignment_expression "pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" (identifier "pcVar9") (= "=") (cast_expression "(char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2)" (parenthesized_expression "(**(code **)(puVar26 + 0x73094))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73094)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73094)" (* "*") (cast_expression "(code **)(puVar26 + 0x73094)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73094)" (( "(") (binary_expression "puVar26 + 0x73094" (identifier "puVar26") (+ "+") (number_literal "0x73094")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),uVar2)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (pppppcVar23 == (code *****)0x0) {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }\n        else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" (if "if") (parenthesized_expression "(pppppcVar23 == (code *****)0x0)" (( "(") (binary_expression "pppppcVar23 == (code *****)0x0" (identifier "pppppcVar23") (== "==") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);\n          piVar20[0x2e] = iVar19;\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "0xaac"))) (; ";")) (if_statement "if (*pcVar9 != '\0') {\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" (if "if") (parenthesized_expression "(*pcVar9 != '\0')" (( "(") (binary_expression "*pcVar9 != '\0'" (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;\n            goto LAB_00041828;\n          }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x574c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x574c"))) (; ";")) (goto_statement "goto LAB_00041828;" (goto "goto") (statement_identifier "LAB_00041828") (; ";")) (} "}"))) (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" (identifier "iVar19") (= "=") (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" (identifier "FUN_0003c380") (argument_list "(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754\n                                ,iVar15,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5754" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5754")) (, ",") (identifier "iVar15") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (} "}")) (else_clause "else {\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" (else "else") (compound_statement "{\n          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;\n          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;\nLAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,pcVar9);\n          iVar19 = piVar20[0x2e];\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar26 + 0x73504) + 0xaac" (pointer_expression "*(int *)(puVar26 + 0x73504)" (* "*") (cast_expression "(int *)(puVar26 + 0x73504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x73504)" (( "(") (binary_expression "puVar26 + 0x73504" (identifier "puVar26") (+ "+") (number_literal "0x73504")) () ")")))) (+ "+") (number_literal "0xaac"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5740" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5740"))) (; ";")) (labeled_statement "LAB_00041828:\n          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" (statement_identifier "LAB_00041828") (: ":") (expression_statement "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);" (assignment_expression "iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" (identifier "iVar19") (= "=") (call_expression "FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" (identifier "FUN_0003c380") (argument_list "(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x128)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x128)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x128)" (( "(") (binary_expression "iVar11 + 0x128" (identifier "iVar11") (+ "+") (number_literal "0x128")) () ")")))) (, ",") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (number_literal "0") () ")")))) (; ";"))) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,pcVar9);" (call_expression "FUN_0003b23c(iVar19,pcVar9)" (identifier "FUN_0003b23c") (argument_list "(iVar19,pcVar9)" (( "(") (identifier "iVar19") (, ",") (identifier "pcVar9") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (} "}")))) (expression_statement "FUN_000463f8(iVar11,iVar19);" (call_expression "FUN_000463f8(iVar11,iVar19)" (identifier "FUN_000463f8") (argument_list "(iVar11,iVar19)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar19") () ")"))) (; ";")) (labeled_statement "LAB_00041870:\n        *piVar20 = 0x2a90;" (statement_identifier "LAB_00041870") (: ":") (expression_statement "*piVar20 = 0x2a90;" (assignment_expression "*piVar20 = 0x2a90" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2a90")) (; ";"))) (} "}")))) (} "}")))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (if_statement "if (ppppcVar4 == (code ****)0x33) {\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }\n  else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" (if "if") (parenthesized_expression "(ppppcVar4 == (code ****)0x33)" (( "(") (binary_expression "ppppcVar4 == (code ****)0x33" (identifier "ppppcVar4") (== "==") (cast_expression "(code ****)0x33" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x33"))) () ")")) (compound_statement "{\n    piVar20[3] = 0;\n    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);\n    ppppcVar4 = pppppcVar24[6];\n    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }\n    pppppcVar23 = (code *****)ppppcStack_90;\n    pppppcVar24 = (code *****)ppppcStack_94;\n    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);\n    piVar20[5] = iVar19;\n    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    piVar20[6] = iVar19;\n    uVar8 = (*pcVar27)(uVar2,0x26);\n    if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }\n    pcVar27 = *(code **)(puVar26 + 0x73040);\n    uVar2 = *(undefined4 *)(iVar11 + 0x248);\n    piVar20[7] = uVar8;\n    iVar19 = (*pcVar27)(uVar2,0x27);\n    if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }\n  }" ({ "{") (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);" (call_expression "FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" (identifier "FUN_00037704") (argument_list "(pppppcVar24,&ppppcStack_94,&ppppcStack_90)" (( "(") (identifier "pppppcVar24") (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")"))) (; ";")) (expression_statement "ppppcVar4 = pppppcVar24[6];" (assignment_expression "ppppcVar4 = pppppcVar24[6]" (identifier "ppppcVar4") (= "=") (subscript_expression "pppppcVar24[6]" (identifier "pppppcVar24") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }\n    else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" (if "if") (parenthesized_expression "(((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'))" (( "(") (binary_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||\n       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" (parenthesized_expression "((int)*pppppcVar24 - (int)ppppcVar4 < 1)" (( "(") (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4 < 1" (binary_expression "(int)*pppppcVar24 - (int)ppppcVar4" (cast_expression "(int)*pppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*pppppcVar24" (* "*") (identifier "pppppcVar24"))) (- "-") (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4"))) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')" (( "(") (comma_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),\n       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (* "*") (cast_expression "(char *)((int)pppppcVar24[5] + (int)ppppcVar4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppcVar24[5] + (int)ppppcVar4)" (( "(") (binary_expression "(int)pppppcVar24[5] + (int)ppppcVar4" (cast_expression "(int)pppppcVar24[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppcVar24[5]" (identifier "pppppcVar24") ([ "[") (number_literal "5") (] "]"))) (+ "+") (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4"))) () ")"))))) (, ",") (comma_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0'" (assignment_expression "pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1)" (subscript_expression "pppppcVar24[6]" (identifier "pppppcVar24") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(code ****)((int)ppppcVar4 + 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar4 + 1)" (( "(") (binary_expression "(int)ppppcVar4 + 1" (cast_expression "(int)ppppcVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar4")) (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (compound_statement "{\n      iVar19 = piVar20[1];\n      piVar5 = *(int **)(puVar26 + 0x734a0);\n      if (iVar19 == 0) goto LAB_000411b0;\n      if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }\n      if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n      if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }\n    }" ({ "{") (expression_statement "iVar19 = piVar20[1];" (assignment_expression "iVar19 = piVar20[1]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar5 = *(int **)(puVar26 + 0x734a0);" (assignment_expression "piVar5 = *(int **)(puVar26 + 0x734a0)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int **)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";"))) (if_statement "if (iVar19 - 2U < 2) {\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" (if "if") (parenthesized_expression "(iVar19 - 2U < 2)" (( "(") (binary_expression "iVar19 - 2U < 2" (binary_expression "iVar19 - 2U" (identifier "iVar19") (- "-") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);\n        goto LAB_000411b0;\n      }" ({ "{") (if_statement "if (iVar19 == 2) {\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" (if "if") (parenthesized_expression "(iVar19 == 2)" (( "(") (binary_expression "iVar19 == 2" (identifier "iVar19") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);\n        }" ({ "{") (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ef4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4ef4")) (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f10" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4f10")) () ")"))) (; ";")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";")) (} "}"))) (if_statement "if (iVar19 == 1) {\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" (if "if") (parenthesized_expression "(iVar19 == 1)" (( "(") (binary_expression "iVar19 == 1" (identifier "iVar19") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);\n        goto LAB_000411b0;\n      }" ({ "{") (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f28" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4f28")) (, ",") (number_literal "0x3c") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4f68" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4f68")) () ")"))) (; ";")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";")) (} "}"))) (if_statement "if (iVar19 == 7) {\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" (if "if") (parenthesized_expression "(iVar19 == 7)" (( "(") (binary_expression "iVar19 == 7" (identifier "iVar19") (== "==") (number_literal "7")) () ")")) (compound_statement "{\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);\n        goto LAB_000411b0;\n      }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fa4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4fa4")) () ")"))) (; ";")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (if_statement "if (iVar19 != 5) {\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" (if "if") (parenthesized_expression "(iVar19 != 5)" (( "(") (binary_expression "iVar19 != 5" (identifier "iVar19") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n        if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);\n        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n        goto LAB_000411b0;\n      }" ({ "{") (if_statement "if (iVar19 != 6) {\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" (if "if") (parenthesized_expression "(iVar19 != 6)" (( "(") (binary_expression "iVar19 != 6" (identifier "iVar19") (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n          if (iVar19 != 4) goto LAB_00042db4;\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);\n          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);\n          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);\n          if (iVar19 == 0) goto LAB_000411b0;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          piVar20[0xd] = 0;\n          if (piVar20[0x13] == 0) goto LAB_0003fc40;\n          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);\n          if (iVar19 == 0) goto LAB_0003fc6c;\n          uVar2 = *(undefined4 *)(iVar11 + 0x248);\n          goto LAB_0003fc40;\n        }" ({ "{") (if_statement "if (iVar19 != 4) goto LAB_00042db4;" (if "if") (parenthesized_expression "(iVar19 != 4)" (( "(") (binary_expression "iVar19 != 4" (identifier "iVar19") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_00042db4;" (goto "goto") (statement_identifier "LAB_00042db4") (; ";"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5034" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5034")) () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5004")) (, ",") (number_literal "0xf") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x1e)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x1e") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_000411b0;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";"))) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (expression_statement "piVar20[0xd] = 0;" (assignment_expression "piVar20[0xd] = 0" (subscript_expression "piVar20[0xd]" (identifier "piVar20") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar20[0x13] == 0) goto LAB_0003fc40;" (if "if") (parenthesized_expression "(piVar20[0x13] == 0)" (( "(") (binary_expression "piVar20[0x13] == 0" (subscript_expression "piVar20[0x13]" (identifier "piVar20") ([ "[") (number_literal "0x13") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fc40;" (goto "goto") (statement_identifier "LAB_0003fc40") (; ";"))) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73040))(uVar2,0x1e)" (parenthesized_expression "(**(code **)(puVar26 + 0x73040))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73040)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) () ")")) (argument_list "(uVar2,0x1e)" (( "(") (identifier "uVar2") (, ",") (number_literal "0x1e") () ")")))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_0003fc6c;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003fc6c;" (goto "goto") (statement_identifier "LAB_0003fc6c") (; ";"))) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (goto_statement "goto LAB_0003fc40;" (goto "goto") (statement_identifier "LAB_0003fc40") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4fd8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4fd8")) () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5004" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5004")) (, ",") (number_literal "0xf") () ")"))) (; ";")) (goto_statement "goto LAB_000411b0;" (goto "goto") (statement_identifier "LAB_000411b0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" (else "else") (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);\nLAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);\n    }" ({ "{") (expression_statement "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5054" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5054")) (, ",") (number_literal "0x21") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5078" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5078")) () ")"))) (; ";")) (labeled_statement "LAB_000411b0:\n      iVar15 = *(int *)(puVar26 + 0x72fb4);" (statement_identifier "LAB_000411b0") (: ":") (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "pppppcVar23 = (code *****)ppppcStack_90;" (assignment_expression "pppppcVar23 = (code *****)ppppcStack_90" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)ppppcStack_90" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "pppppcVar24 = (code *****)ppppcStack_94;" (assignment_expression "pppppcVar24 = (code *****)ppppcStack_94" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)ppppcStack_94" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_94"))) (; ";")) (expression_statement "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" (identifier "iVar19") (= "=") (call_expression "FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" (identifier "FUN_0003d91c") (argument_list "(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90)" (( "(") (binary_expression "iVar15 + 0x5098" (identifier "iVar15") (+ "+") (number_literal "0x5098")) (, ",") (identifier "ppppcStack_94") (, ",") (identifier "ppppcStack_90") () ")")))) (; ";")) (expression_statement "piVar20[5] = iVar19;" (assignment_expression "piVar20[5] = iVar19" (subscript_expression "piVar20[5]" (identifier "piVar20") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" (identifier "iVar19") (= "=") (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" (identifier "FUN_0003d91c") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54ac")) (, ",") (identifier "pppppcVar24") (, ",") (identifier "pppppcVar23") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) (; ";")) (expression_statement "piVar20[6] = iVar19;" (assignment_expression "piVar20[6] = iVar19" (subscript_expression "piVar20[6]" (identifier "piVar20") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "uVar8 = (*pcVar27)(uVar2,0x26);" (assignment_expression "uVar8 = (*pcVar27)(uVar2,0x26)" (identifier "uVar8") (= "=") (call_expression "(*pcVar27)(uVar2,0x26)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar2,0x26)" (( "(") (identifier "uVar2") (, ",") (number_literal "0x26") () ")")))) (; ";")) (if_statement "if (uVar8 != 0) {\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);\n      uVar8 = (uint)(iVar19 != 0);\n    }" ({ "{") (expression_statement "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" (identifier "iVar19") (= "=") (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" (identifier "FUN_0003d91c") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50a4")) (, ",") (identifier "ppppcStack_94") (, ",") (identifier "ppppcStack_90") () ")")))) (; ";")) (expression_statement "uVar8 = (uint)(iVar19 != 0);" (assignment_expression "uVar8 = (uint)(iVar19 != 0)" (identifier "uVar8") (= "=") (call_expression "(uint)(iVar19 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73040);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73040)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73040)" (* "*") (cast_expression "(code **)(puVar26 + 0x73040)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73040)" (( "(") (binary_expression "puVar26 + 0x73040" (identifier "puVar26") (+ "+") (number_literal "0x73040")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x248);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x248)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")"))))) (; ";")) (expression_statement "piVar20[7] = uVar8;" (assignment_expression "piVar20[7] = uVar8" (subscript_expression "piVar20[7]" (identifier "piVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "iVar19 = (*pcVar27)(uVar2,0x27);" (assignment_expression "iVar19 = (*pcVar27)(uVar2,0x27)" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(uVar2,0x27)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(uVar2,0x27)" (( "(") (identifier "uVar2") (, ",") (number_literal "0x27") () ")")))) (; ";")) (if_statement "if ((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)) {\n      piVar20[10] = 0;\n    }\n    else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" (if "if") (parenthesized_expression "((iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0))" (( "(") (binary_expression "(iVar19 == 0) ||\n       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0)" (( "(") (comma_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),\n       iVar19 == 0" (assignment_expression "iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" (identifier "iVar19") (= "=") (call_expression "FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" (identifier "FUN_0003d91c") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50bc")) (, ",") (identifier "ppppcStack_94") (, ",") (identifier "ppppcStack_90") () ")")))) (, ",") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      piVar20[10] = 0;\n    }" ({ "{") (expression_statement "piVar20[10] = 0;" (assignment_expression "piVar20[10] = 0" (subscript_expression "piVar20[10]" (identifier "piVar20") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" (else "else") (compound_statement "{\n      iVar19 = *(int *)(iVar11 + 0x6a8);\n      if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }\n      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));\n    }" ({ "{") (expression_statement "iVar19 = *(int *)(iVar11 + 0x6a8);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x6a8)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar11 + 0x6a8)" (* "*") (cast_expression "(int *)(iVar11 + 0x6a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6a8)" (( "(") (binary_expression "iVar11 + 0x6a8" (identifier "iVar11") (+ "+") (number_literal "0x6a8")) () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));\n        *(int *)(iVar11 + 0x6a8) = iVar19;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248))" (parenthesized_expression "(**(code **)(puVar26 + 0x73558))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73558)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73558)" (* "*") (cast_expression "(code **)(puVar26 + 0x73558)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73558)" (( "(") (binary_expression "puVar26 + 0x73558" (identifier "puVar26") (+ "+") (number_literal "0x73558")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) () ")")))) (; ";")) (expression_statement "*(int *)(iVar11 + 0x6a8) = iVar19;" (assignment_expression "*(int *)(iVar11 + 0x6a8) = iVar19" (pointer_expression "*(int *)(iVar11 + 0x6a8)" (* "*") (cast_expression "(int *)(iVar11 + 0x6a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6a8)" (( "(") (binary_expression "iVar11 + 0x6a8" (identifier "iVar11") (+ "+") (number_literal "0x6a8")) () ")")))) (= "=") (identifier "iVar19")) (; ";")) (} "}"))) (expression_statement "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));" (assignment_expression "piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4))" (subscript_expression "piVar20[10]" (identifier "piVar20") ([ "[") (number_literal "10") (] "]")) (= "=") (call_expression "(uint)(0 < *(int *)(iVar19 + 4))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0 < *(int *)(iVar19 + 4))" (( "(") (binary_expression "0 < *(int *)(iVar19 + 4)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar19 + 4)" (* "*") (cast_expression "(int *)(iVar19 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 4)" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" (else "else") (compound_statement "{\n    if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }\n    piVar20[3] = 0;\n  }" ({ "{") (if_statement "if (piVar20[1] != 5) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "(piVar20[1] != 5)" (( "(") (binary_expression "piVar20[1] != 5" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;\nLAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);\nLAB_00040050:\n      FUN_0003822c(iVar11,uVar2);\nLAB_0003fd38:\n      *piVar20 = 0;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4ebc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4ebc"))) (; ";")) (labeled_statement "LAB_00040078:\n      uVar2 = dupprintf(iVar19,ppppcVar4);" (statement_identifier "LAB_00040078") (: ":") (expression_statement "uVar2 = dupprintf(iVar19,ppppcVar4);" (assignment_expression "uVar2 = dupprintf(iVar19,ppppcVar4)" (identifier "uVar2") (= "=") (call_expression "dupprintf(iVar19,ppppcVar4)" (identifier "dupprintf") (argument_list "(iVar19,ppppcVar4)" (( "(") (identifier "iVar19") (, ",") (identifier "ppppcVar4") () ")")))) (; ";"))) (labeled_statement "LAB_00040050:\n      FUN_0003822c(iVar11,uVar2);" (statement_identifier "LAB_00040050") (: ":") (expression_statement "FUN_0003822c(iVar11,uVar2);" (call_expression "FUN_0003822c(iVar11,uVar2)" (identifier "FUN_0003822c") (argument_list "(iVar11,uVar2)" (( "(") (identifier "iVar11") (, ",") (identifier "uVar2") () ")"))) (; ";"))) (labeled_statement "LAB_0003fd38:\n      *piVar20 = 0;" (statement_identifier "LAB_0003fd38") (: ":") (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (expression_statement "piVar20[3] = 0;" (assignment_expression "piVar20[3] = 0" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "iVar19 = piVar20[5];" (assignment_expression "iVar19 = piVar20[5]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[5]" (identifier "piVar20") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 0;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 0" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar19 != 0) {\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }\n    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }\n  }" ({ "{") (if_statement "if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "((piVar20[9] == 0) && (piVar20[0x21] != 0))" (( "(") (binary_expression "(piVar20[9] == 0) && (piVar20[0x21] != 0)" (parenthesized_expression "(piVar20[9] == 0)" (( "(") (binary_expression "piVar20[9] == 0" (subscript_expression "piVar20[9]" (identifier "piVar20") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar20[0x21] != 0)" (( "(") (binary_expression "piVar20[0x21] != 0" (subscript_expression "piVar20[0x21]" (identifier "piVar20") ([ "[") (number_literal "0x21") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      iVar15 = piVar20[0x20];\n      pppppcVar23 = (code *****)&pppcStack_88;\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      iVar6 = piVar20[0x1d];\n      piVar20[0x25] = iVar19;\n      iVar15 = iVar6 + 4;\n      piVar20[0x22] = iVar15;\n      pcVar27 = *(code **)(puVar26 + 0x73100);\n      piVar20[0x1d] = iVar15 + iVar19;\n      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));\n      piVar20[0x26] = iVar19;\n      piVar20[0x23] = piVar20[0x22] + 4;\n      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);\n      piVar20[0x27] = iVar19;\n      piVar20[0x24] = piVar20[0x1d] + 4;\n      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,pppppcVar23,4);\n      iVar6 = piVar20[0x26];\n      iVar15 = piVar20[0x23];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      pppppcVar24 = (code *****)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(pppppcVar24,pppppcVar23,4);\n      iVar6 = piVar20[0x25];\n      iVar15 = piVar20[0x22];\n      iVar19 = piVar20[0x2e];\n      pppppcVar24[6] = *pppppcVar24;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      piVar20[1] = 3;\nLAB_00040908:\n      *piVar20 = 0x2650;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "iVar15 = piVar20[0x20];" (assignment_expression "iVar15 = piVar20[0x20]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x20]" (identifier "piVar20") ([ "[") (number_literal "0x20") (] "]"))) (; ";")) (expression_statement "pppppcVar23 = (code *****)&pppcStack_88;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_88" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)&pppcStack_88" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")))) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);" (call_expression "FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15)" (identifier "FUN_00036ce8") (argument_list "(iVar11,iVar19 + 0x50cc,iVar15)" (( "(") (identifier "iVar11") (, ",") (binary_expression "iVar19 + 0x50cc" (identifier "iVar19") (+ "+") (number_literal "0x50cc")) (, ",") (identifier "iVar15") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)piVar20[0x1d])" (( "(") (pointer_expression "*(undefined4 *)piVar20[0x1d]" (* "*") (cast_expression "(undefined4 *)piVar20[0x1d]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")))) () ")")))) (; ";")) (expression_statement "iVar6 = piVar20[0x1d];" (assignment_expression "iVar6 = piVar20[0x1d]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "piVar20[0x25] = iVar19;" (assignment_expression "piVar20[0x25] = iVar19" (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "iVar15 = iVar6 + 4;" (assignment_expression "iVar15 = iVar6 + 4" (identifier "iVar15") (= "=") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "piVar20[0x22] = iVar15;" (assignment_expression "piVar20[0x22] = iVar15" (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]")) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x73100);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x73100)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) (; ";")) (expression_statement "piVar20[0x1d] = iVar15 + iVar19;" (assignment_expression "piVar20[0x1d] = iVar15 + iVar19" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (binary_expression "iVar15 + iVar19" (identifier "iVar15") (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));" (assignment_expression "iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4))" (identifier "iVar19") (= "=") (call_expression "(*pcVar27)(*(undefined4 *)(iVar6 + 4))" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(undefined4 *)(iVar6 + 4))" (( "(") (pointer_expression "*(undefined4 *)(iVar6 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 4)" (( "(") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar20[0x26] = iVar19;" (assignment_expression "piVar20[0x26] = iVar19" (subscript_expression "piVar20[0x26]" (identifier "piVar20") ([ "[") (number_literal "0x26") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar20[0x23] = piVar20[0x22] + 4;" (assignment_expression "piVar20[0x23] = piVar20[0x22] + 4" (subscript_expression "piVar20[0x23]" (identifier "piVar20") ([ "[") (number_literal "0x23") (] "]")) (= "=") (binary_expression "piVar20[0x22] + 4" (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d])" (parenthesized_expression "(**(code **)(puVar26 + 0x73100))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73100)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73100)" (* "*") (cast_expression "(code **)(puVar26 + 0x73100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73100)" (( "(") (binary_expression "puVar26 + 0x73100" (identifier "puVar26") (+ "+") (number_literal "0x73100")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)piVar20[0x1d])" (( "(") (pointer_expression "*(undefined4 *)piVar20[0x1d]" (* "*") (cast_expression "(undefined4 *)piVar20[0x1d]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")))) () ")")))) (; ";")) (expression_statement "piVar20[0x27] = iVar19;" (assignment_expression "piVar20[0x27] = iVar19" (subscript_expression "piVar20[0x27]" (identifier "piVar20") ([ "[") (number_literal "0x27") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar20[0x24] = piVar20[0x1d] + 4;" (assignment_expression "piVar20[0x24] = piVar20[0x1d] + 4" (subscript_expression "piVar20[0x24]" (identifier "piVar20") ([ "[") (number_literal "0x24") (] "]")) (= "=") (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;" (assignment_expression "piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (binary_expression "piVar20[0x1d] + 4 + iVar19" (binary_expression "piVar20[0x1d] + 4" (subscript_expression "piVar20[0x1d]" (identifier "piVar20") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "4")) (+ "+") (identifier "iVar19"))) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5098")) () ")"))) (; ";")) (expression_statement "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x510c")) () ")")))) (; ";")) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" (( "(") (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppcStack_98")) (& "&") (number_literal "0xffffff")) () ")")))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&pppcStack_98,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)piVar20[0x2e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,pppppcVar23,4);" (call_expression "FUN_0003aef4(puVar3,pppppcVar23,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,pppppcVar23,4)" (( "(") (identifier "puVar3") (, ",") (identifier "pppppcVar23") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar6 = piVar20[0x26];" (assignment_expression "iVar6 = piVar20[0x26]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x26]" (identifier "piVar20") ([ "[") (number_literal "0x26") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar20[0x23];" (assignment_expression "iVar15 = piVar20[0x23]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x23]" (identifier "piVar20") ([ "[") (number_literal "0x23") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "pppppcVar24 = (code *****)piVar20[0x2e];" (assignment_expression "pppppcVar24 = (code *****)piVar20[0x2e]" (identifier "pppppcVar24") (= "=") (cast_expression "(code *****)piVar20[0x2e]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(pppppcVar24,pppppcVar23,4);" (call_expression "FUN_0003aef4(pppppcVar24,pppppcVar23,4)" (identifier "FUN_0003aef4") (argument_list "(pppppcVar24,pppppcVar23,4)" (( "(") (identifier "pppppcVar24") (, ",") (identifier "pppppcVar23") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar6 = piVar20[0x25];" (assignment_expression "iVar6 = piVar20[0x25]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x25]" (identifier "piVar20") ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar20[0x22];" (assignment_expression "iVar15 = piVar20[0x22]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x22]" (identifier "piVar20") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "pppppcVar24[6] = *pppppcVar24;" (assignment_expression "pppppcVar24[6] = *pppppcVar24" (subscript_expression "pppppcVar24[6]" (identifier "pppppcVar24") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*pppppcVar24" (* "*") (identifier "pppppcVar24"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "piVar20[1] = 3;" (assignment_expression "piVar20[1] = 3" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "3")) (; ";")) (labeled_statement "LAB_00040908:\n      *piVar20 = 0x2650;" (statement_identifier "LAB_00040908") (: ":") (expression_statement "*piVar20 = 0x2650;" (assignment_expression "*piVar20 = 0x2650" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2650")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (if_statement "if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" (if "if") (parenthesized_expression "(((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0))" (( "(") (binary_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)" (parenthesized_expression "((piVar20[0x14] != 0) && (piVar20[0x16] != 0))" (( "(") (binary_expression "(piVar20[0x14] != 0) && (piVar20[0x16] != 0)" (parenthesized_expression "(piVar20[0x14] != 0)" (( "(") (binary_expression "piVar20[0x14] != 0" (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar20[0x16] != 0)" (( "(") (binary_expression "piVar20[0x16] != 0" (subscript_expression "piVar20[0x16]" (identifier "piVar20") ([ "[") (number_literal "0x16") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar20[8] == 0)" (( "(") (binary_expression "piVar20[8] == 0" (subscript_expression "piVar20[8]" (identifier "piVar20") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 1;\n      piVar20[8] = 1;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);\n      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar6 = piVar20[0x15];\n      iVar15 = piVar20[0x14];\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,iVar15,iVar6);\n      FUN_000463f8(iVar11,piVar20[0x2e]);\n      (**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);\nLAB_00041ab0:\n      *piVar20 = 0x26df;\n      goto LAB_0003fd3c;\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[8] = 1;" (assignment_expression "piVar20[8] = 1" (subscript_expression "piVar20[8]" (identifier "piVar20") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5098")) () ")"))) (; ";")) (expression_statement "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);" (assignment_expression "pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x734a0) + -0x510c)" (( "(") (binary_expression "*(int *)(puVar26 + 0x734a0) + -0x510c" (pointer_expression "*(int *)(puVar26 + 0x734a0)" (* "*") (cast_expression "(int *)(puVar26 + 0x734a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x734a0)" (( "(") (binary_expression "puVar26 + 0x734a0" (identifier "puVar26") (+ "+") (number_literal "0x734a0")) () ")")))) (+ "+") (number_literal "-0x510c")) () ")")))) (; ";")) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" (( "(") (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppcStack_98")) (& "&") (number_literal "0xffffff")) () ")")))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&pppcStack_98,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x18])" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],piVar20[0x18])" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (subscript_expression "piVar20[0x18]" (identifier "piVar20") ([ "[") (number_literal "0x18") (] "]")) () ")"))) (; ";")) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)piVar20[0x2e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,&pppcStack_88,4)" (( "(") (identifier "puVar3") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar6 = piVar20[0x15];" (assignment_expression "iVar6 = piVar20[0x15]" (identifier "iVar6") (= "=") (subscript_expression "piVar20[0x15]" (identifier "piVar20") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar20[0x14];" (assignment_expression "iVar15 = piVar20[0x14]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0x14]" (identifier "piVar20") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,iVar15,iVar6);" (call_expression "FUN_0003b124(iVar19,iVar15,iVar6)" (identifier "FUN_0003b124") (argument_list "(iVar19,iVar15,iVar6)" (( "(") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5158" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5158")) () ")"))) (; ";")) (labeled_statement "LAB_00041ab0:\n      *piVar20 = 0x26df;" (statement_identifier "LAB_00041ab0") (: ":") (expression_statement "*piVar20 = 0x26df;" (assignment_expression "*piVar20 = 0x26df" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x26df")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}"))) (} "}"))) (if_statement "if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" (if "if") (parenthesized_expression "((piVar20[10] != 0) && (piVar20[0xb] == 0))" (( "(") (binary_expression "(piVar20[10] != 0) && (piVar20[0xb] == 0)" (parenthesized_expression "(piVar20[10] != 0)" (( "(") (binary_expression "piVar20[10] != 0" (subscript_expression "piVar20[10]" (identifier "piVar20") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar20[0xb] == 0)" (( "(") (binary_expression "piVar20[0xb] == 0" (subscript_expression "piVar20[0xb]" (identifier "piVar20") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    piVar20[0xb] = 1;\n    iVar15 = 0;\n    piVar20[3] = 1;\n    piVar20[1] = 5;\n    *(undefined4 *)(iVar11 + 0x188) = 3;\n    iVar19 = **(int **)(puVar26 + 0x73414);\n    piVar20[0x30] = 0;\n    if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }\n    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;\n    (**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n    do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));\n    do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));\nLAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);\n    unaff_s5 = (code *****)ppppcStack_90;\n    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);\n    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);\n    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);\n    iVar19 = piVar20[3];\n    goto LAB_0003fb74;\n  }" ({ "{") (expression_statement "piVar20[0xb] = 1;" (assignment_expression "piVar20[0xb] = 1" (subscript_expression "piVar20[0xb]" (identifier "piVar20") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar20[3] = 1;" (assignment_expression "piVar20[3] = 1" (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar20[1] = 5;" (assignment_expression "piVar20[1] = 5" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 3;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 3" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "iVar19 = **(int **)(puVar26 + 0x73414);" (assignment_expression "iVar19 = **(int **)(puVar26 + 0x73414)" (identifier "iVar19") (= "=") (pointer_expression "**(int **)(puVar26 + 0x73414)" (* "*") (pointer_expression "*(int **)(puVar26 + 0x73414)" (* "*") (cast_expression "(int **)(puVar26 + 0x73414)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73414)" (( "(") (binary_expression "puVar26 + 0x73414" (identifier "puVar26") (+ "+") (number_literal "0x73414")) () ")")))))) (; ";")) (expression_statement "piVar20[0x30] = 0;" (assignment_expression "piVar20[0x30] = 0" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar19) {\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" (if "if") (parenthesized_expression "(0 < iVar19)" (( "(") (binary_expression "0 < iVar19" (number_literal "0") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n      pcVar27 = *(code **)(puVar26 + 0x733d0);\n      do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);\n      piVar5 = (int *)piVar20[0x30];\nLAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }\n    }" ({ "{") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x733d0)" (* "*") (cast_expression "(code **)(puVar26 + 0x733d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x733d0)" (( "(") (binary_expression "puVar26 + 0x733d0" (identifier "puVar26") (+ "+") (number_literal "0x733d0")) () ")"))))) (; ";")) (do_statement "do {\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      } while (iVar19 != iVar15);" (do "do") (compound_statement "{\n        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);\n        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];\n        if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }\n        iVar15 = iVar15 + 1;\n        pcVar27 = *(code **)(puVar26 + 0x733d0);\n      }" ({ "{") (expression_statement "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);" (assignment_expression "iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" (identifier "iVar6") (= "=") (call_expression "(*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x29") (, ",") (identifier "iVar15") () ")")))) (; ";")) (expression_statement "iVar18 = (*(int **)(iVar11 + 0x6a8))[1];" (assignment_expression "iVar18 = (*(int **)(iVar11 + 0x6a8))[1]" (identifier "iVar18") (= "=") (subscript_expression "(*(int **)(iVar11 + 0x6a8))[1]" (parenthesized_expression "(*(int **)(iVar11 + 0x6a8))" (( "(") (pointer_expression "*(int **)(iVar11 + 0x6a8)" (* "*") (cast_expression "(int **)(iVar11 + 0x6a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x6a8)" (( "(") (binary_expression "iVar11 + 0x6a8" (identifier "iVar11") (+ "+") (number_literal "0x6a8")) () ")")))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (0 < iVar18) {\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" (if "if") (parenthesized_expression "(0 < iVar18)" (( "(") (binary_expression "0 < iVar18" (number_literal "0") (< "<") (identifier "iVar18")) () ")")) (compound_statement "{\n          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);\n          if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }\n          iVar13 = 0;\n          while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }\n        }" ({ "{") (expression_statement "piVar5 = (int *)**(int **)(iVar11 + 0x6a8);" (assignment_expression "piVar5 = (int *)**(int **)(iVar11 + 0x6a8)" (identifier "piVar5") (= "=") (cast_expression "(int *)**(int **)(iVar11 + 0x6a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(iVar11 + 0x6a8)" (* "*") (pointer_expression "*(int **)(iVar11 + 0x6a8)" (* "*") (cast_expression "(int **)(iVar11 + 0x6a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x6a8)" (( "(") (binary_expression "iVar11 + 0x6a8" (identifier "iVar11") (+ "+") (number_literal "0x6a8")) () ")"))))))) (; ";")) (if_statement "if (iVar6 == *piVar5) {\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" (if "if") (parenthesized_expression "(iVar6 == *piVar5)" (( "(") (binary_expression "iVar6 == *piVar5" (identifier "iVar6") (== "==") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) (compound_statement "{\nLAB_0004106c:\n            piVar20[0x30] = (int)piVar5;\n            goto LAB_0003f984;\n          }" ({ "{") (labeled_statement "LAB_0004106c:\n            piVar20[0x30] = (int)piVar5;" (statement_identifier "LAB_0004106c") (: ":") (expression_statement "piVar20[0x30] = (int)piVar5;" (assignment_expression "piVar20[0x30] = (int)piVar5" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (= "=") (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5"))) (; ";"))) (goto_statement "goto LAB_0003f984;" (goto "goto") (statement_identifier "LAB_0003f984") (; ";")) (} "}"))) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            piVar5 = piVar5 + 0x15;\n            iVar13 = iVar13 + 1;\n            if (iVar13 == iVar18) break;\n            if (*piVar5 == iVar6) goto LAB_0004106c;\n          }" ({ "{") (expression_statement "piVar5 = piVar5 + 0x15;" (assignment_expression "piVar5 = piVar5 + 0x15" (identifier "piVar5") (= "=") (binary_expression "piVar5 + 0x15" (identifier "piVar5") (+ "+") (number_literal "0x15"))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar13 == iVar18) break;" (if "if") (parenthesized_expression "(iVar13 == iVar18)" (( "(") (binary_expression "iVar13 == iVar18" (identifier "iVar13") (== "==") (identifier "iVar18")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (*piVar5 == iVar6) goto LAB_0004106c;" (if "if") (parenthesized_expression "(*piVar5 == iVar6)" (( "(") (binary_expression "*piVar5 == iVar6" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_0004106c;" (goto "goto") (statement_identifier "LAB_0004106c") (; ";"))) (} "}"))) (} "}"))) (expression_statement "iVar15 = iVar15 + 1;" (assignment_expression "iVar15 = iVar15 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 1" (identifier "iVar15") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x733d0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x733d0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x733d0)" (* "*") (cast_expression "(code **)(puVar26 + 0x733d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x733d0)" (( "(") (binary_expression "puVar26 + 0x733d0" (identifier "puVar26") (+ "+") (number_literal "0x733d0")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar19 != iVar15)" (( "(") (binary_expression "iVar19 != iVar15" (identifier "iVar19") (!= "!=") (identifier "iVar15")) () ")")) (; ";")) (expression_statement "piVar5 = (int *)piVar20[0x30];" (assignment_expression "piVar5 = (int *)piVar20[0x30]" (identifier "piVar5") (= "=") (cast_expression "(int *)piVar20[0x30]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")))) (; ";")) (labeled_statement "LAB_0003f984:\n      if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" (statement_identifier "LAB_0003f984") (: ":") (if_statement "if (piVar5 != (int *)0x0) {\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }\n        pppppcVar23 = (code *****)&pppcStack_98;\n        iVar19 = FUN_0003b04c(0x32);\n        uVar2 = *(undefined4 *)(iVar11 + 0x250);\n        piVar20[0x2e] = iVar19;\n        FUN_0003b23c(iVar19,uVar2);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);\n        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);\n        pppcStack_88 = (code ***)0x1;\n        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);\n        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);\n        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);\n        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\nLAB_0003fae0:\n        *piVar20 = 0x27b6;\n        goto LAB_0003fd3c;\n      }" ({ "{") (if_statement "if (piVar5[1] != 0) {\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" (if "if") (parenthesized_expression "(piVar5[1] != 0)" (( "(") (binary_expression "piVar5[1] != 0" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));\n        }" ({ "{") (expression_statement "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));" (call_expression "(**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "pppppcVar23 = (code *****)&pppcStack_98;" (assignment_expression "pppppcVar23 = (code *****)&pppcStack_98" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)&pppcStack_98" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")))) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50bc" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50bc")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x524c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x524c")) () ")"))) (; ";")) (expression_statement "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);" (call_expression "(**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32)" (parenthesized_expression "(**(code **)(piVar20[0x30] + 8))" (( "(") (pointer_expression "**(code **)(piVar20[0x30] + 8)" (* "*") (pointer_expression "*(code **)(piVar20[0x30] + 8)" (* "*") (cast_expression "(code **)(piVar20[0x30] + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar20[0x30] + 8)" (( "(") (binary_expression "piVar20[0x30] + 8" (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(piVar20[0x30],piVar20 + 0x32)" (( "(") (subscript_expression "piVar20[0x30]" (identifier "piVar20") ([ "[") (number_literal "0x30") (] "]")) (, ",") (binary_expression "piVar20 + 0x32" (identifier "piVar20") (+ "+") (number_literal "0x32")) () ")"))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x1;" (assignment_expression "pppcStack_88 = (code ***)0x1" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x1" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&pppcStack_88,4)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);" (call_expression "FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2)" (identifier "FUN_0003b1cc") (argument_list "(piVar20[0x2e],piVar20[0x32] + 2)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "piVar20[0x32] + 2" (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]")) (+ "+") (number_literal "2")) () ")"))) (; ";")) (expression_statement "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)CONCAT13(6,pppcStack_98._1_3_)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "CONCAT13(6,pppcStack_98._1_3_)" (identifier "CONCAT13") (argument_list "(6,pppcStack_98._1_3_)" (( "(") (number_literal "6") (, ",") (field_expression "pppcStack_98._1_3_" (identifier "pppcStack_98") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],pppppcVar23,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (identifier "pppppcVar23") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);" (assignment_expression "pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_)" (identifier "CONCAT13") (argument_list "((char)piVar20[0x32],pppcStack_98._1_3_)" (( "(") (cast_expression "(char)piVar20[0x32]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]"))) (, ",") (field_expression "pppcStack_98._1_3_" (identifier "pppcStack_98") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],pppppcVar23,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (identifier "pppppcVar23") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);" (call_expression "FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],piVar20[0x33],piVar20[0x32])" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (subscript_expression "piVar20[0x33]" (identifier "piVar20") ([ "[") (number_literal "0x33") (] "]")) (, ",") (subscript_expression "piVar20[0x32]" (identifier "piVar20") ([ "[") (number_literal "0x32") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (labeled_statement "LAB_0003fae0:\n        *piVar20 = 0x27b6;" (statement_identifier "LAB_0003fae0") (: ":") (expression_statement "*piVar20 = 0x27b6;" (assignment_expression "*piVar20 = 0x27b6" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x27b6")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0" (identifier "iVar19") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x35c0"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73938)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73938)" (* "*") (cast_expression "(code **)(puVar26 + 0x73938)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73938)" (( "(") (binary_expression "puVar26 + 0x73938" (identifier "puVar26") (+ "+") (number_literal "0x73938")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,\n               *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5240" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5240")) (, ",") (identifier "iVar19") (, ",") (number_literal "0x2799") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x7e08")) () ")"))) (; ";")) (do_statement "do {\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 == *(int **)(puVar26 + 0x73550));" (do "do") (compound_statement "{\n      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);\nLAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }\n      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 0;\n      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);\n      iVar19 = piVar20[0x19];\n      pppppcVar23 = (code *****)piVar20[0xf];\n      puVar3[1] = uVar2;\n      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);\n      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }\n      iVar15 = piVar20[0xf];\n      if (iVar19 == 0) goto LAB_00040b04;\n      unaff_s5 = &ppppcStack_90;\n      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);\n      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n      piVar20[0x2f] = iVar15;\n      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);\n      if (iVar19 == 0) goto LAB_00042dd8;\n      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);\n      smemclr(iVar19,uVar2);\n      safefree(iVar19);\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      pppppcVar23 = unaff_s5;\n    }" ({ "{") (expression_statement "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);" (call_expression "FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" (identifier "FUN_0003a5ac") (argument_list "(iVar11 + 0x110,iVar19 + 0x51dc,0x12)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) (, ",") (binary_expression "iVar19 + 0x51dc" (identifier "iVar19") (+ "+") (number_literal "0x51dc")) (, ",") (number_literal "0x12") () ")"))) (; ";")) (labeled_statement "LAB_00041ae8:\n      if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" (statement_identifier "LAB_00041ae8") (: ":") (if_statement "if (piVar20[0x17] == 0) {\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" (if "if") (parenthesized_expression "(piVar20[0x17] == 0)" (( "(") (binary_expression "piVar20[0x17] == 0" (subscript_expression "piVar20[0x17]" (identifier "piVar20") ([ "[") (number_literal "0x17") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);\n        piVar20[0x2f] = iVar19;\n        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);\n        pppppcVar23 = &ppppcStack_90;\n        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;\n        break;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73134)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73134)" (* "*") (cast_expression "(code **)(puVar26 + 0x73134)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73134)" (( "(") (binary_expression "puVar26 + 0x73134" (identifier "puVar26") (+ "+") (number_literal "0x73134")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "piVar20[0x2f] = iVar19;" (assignment_expression "piVar20[0x2f] = iVar19" (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7354c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7354c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7354c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7354c)" (( "(") (binary_expression "puVar26 + 0x7354c" (identifier "puVar26") (+ "+") (number_literal "0x7354c")) () ")"))))) () ")")) (argument_list "(iVar19,0,&ppppcStack_90)" (( "(") (identifier "iVar19") (, ",") (number_literal "0") (, ",") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90")) () ")"))))) (; ";")) (expression_statement "pppppcVar23 = &ppppcStack_90;" (assignment_expression "pppppcVar23 = &ppppcStack_90" (identifier "pppppcVar23") (= "=") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90"))) (; ";")) (if_statement "if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;" (if "if") (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" (( "(") (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" (identifier "piVar5") (== "==") (pointer_expression "*(int **)(puVar26 + 0x73550)" (* "*") (cast_expression "(int **)(puVar26 + 0x73550)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73550)" (( "(") (binary_expression "puVar26 + 0x73550" (identifier "puVar26") (+ "+") (number_literal "0x73550")) () ")"))))) () ")")) (goto_statement "goto LAB_00041b34;" (goto "goto") (statement_identifier "LAB_00041b34") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}")))) (expression_statement "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110))" (parenthesized_expression "(**(code **)(puVar26 + 0x73530))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73530)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73530)" (* "*") (cast_expression "(code **)(puVar26 + 0x73530)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73530)" (( "(") (binary_expression "puVar26 + 0x73530" (identifier "puVar26") (+ "+") (number_literal "0x73530")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = 0;" (assignment_expression "*puVar3 = 0" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190)" (parenthesized_expression "(**(code **)(puVar26 + 0x7301c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7301c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7301c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7301c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7301c)" (( "(") (binary_expression "puVar26 + 0x7301c" (identifier "puVar26") (+ "+") (number_literal "0x7301c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5190)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5190" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5190")) () ")")))) (; ";")) (expression_statement "iVar19 = piVar20[0x19];" (assignment_expression "iVar19 = piVar20[0x19]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x19]" (identifier "piVar20") ([ "[") (number_literal "0x19") (] "]"))) (; ";")) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0xf]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73010))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73010)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73010)" (* "*") (cast_expression "(code **)(puVar26 + 0x73010)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73010)" (( "(") (binary_expression "puVar26 + 0x73010" (identifier "puVar26") (+ "+") (number_literal "0x73010")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x51a4")) (, ",") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);" (call_expression "(**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73534))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73534)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73534)" (* "*") (cast_expression "(code **)(puVar26 + 0x73534)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73534)" (( "(") (binary_expression "puVar26 + 0x73534" (identifier "puVar26") (+ "+") (number_literal "0x73534")) () ")"))))) () ")")) (argument_list "(pppppcVar23,uVar2,0)" (( "(") (identifier "pppppcVar23") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf],0,0)" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (labeled_statement "LAB_00040240:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" (statement_identifier "LAB_00040240") (: ":") (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x2703;\n        goto LAB_0003fd3c;\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x2703;" (assignment_expression "*piVar20 = 0x2703" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2703")) (; ";")) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))) (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_00040b04;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00040b04;" (goto "goto") (statement_identifier "LAB_00040b04") (; ";"))) (expression_statement "unaff_s5 = &ppppcStack_90;" (assignment_expression "unaff_s5 = &ppppcStack_90" (identifier "unaff_s5") (= "=") (pointer_expression "&ppppcStack_90" (& "&") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (identifier "iVar19") (= "=") (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (identifier "dupstr") (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (( "(") (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" (* "*") (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" (( "(") (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" (* "*") (pointer_expression "*(int **)(iVar15 + 0x18)" (* "*") (cast_expression "(int **)(iVar15 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);" (call_expression "(**(code **)(puVar26 + 0x7353c))(piVar20[0xf])" (parenthesized_expression "(**(code **)(puVar26 + 0x7353c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7353c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);" (assignment_expression "iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20)" (parenthesized_expression "(**(code **)(puVar26 + 0x73134))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73134)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73134)" (* "*") (cast_expression "(code **)(puVar26 + 0x73134)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73134)" (( "(") (binary_expression "puVar26 + 0x73134" (identifier "puVar26") (+ "+") (number_literal "0x73134")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x248),0x20)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x248)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x248)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x248)" (( "(") (binary_expression "iVar11 + 0x248" (identifier "iVar11") (+ "+") (number_literal "0x248")) () ")")))) (, ",") (number_literal "0x20") () ")")))) (; ";")) (expression_statement "piVar20[0x2f] = iVar15;" (assignment_expression "piVar20[0x2f] = iVar15" (subscript_expression "piVar20[0x2f]" (identifier "piVar20") ([ "[") (number_literal "0x2f") (] "]")) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);" (assignment_expression "piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" (identifier "piVar5") (= "=") (cast_expression "(int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5)" (parenthesized_expression "(**(code **)(puVar26 + 0x7354c))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x7354c)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x7354c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7354c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7354c)" (( "(") (binary_expression "puVar26 + 0x7354c" (identifier "puVar26") (+ "+") (number_literal "0x7354c")) () ")"))))) () ")")) (argument_list "(iVar15,iVar19,unaff_s5)" (( "(") (identifier "iVar15") (, ",") (identifier "iVar19") (, ",") (identifier "unaff_s5") () ")"))))) (; ";")) (if_statement "if (iVar19 == 0) goto LAB_00042dd8;" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00042dd8;" (goto "goto") (statement_identifier "LAB_00042dd8") (; ";"))) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(iVar19)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "smemclr(iVar19,uVar2);" (call_expression "smemclr(iVar19,uVar2)" (identifier "smemclr") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "safefree(iVar19);" (call_expression "safefree(iVar19)" (identifier "safefree") (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" (identifier "pppppcVar23") (= "=") (identifier "unaff_s5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar5 == *(int **)(puVar26 + 0x73550))" (( "(") (binary_expression "piVar5 == *(int **)(puVar26 + 0x73550)" (identifier "piVar5") (== "==") (pointer_expression "*(int **)(puVar26 + 0x73550)" (* "*") (cast_expression "(int **)(puVar26 + 0x73550)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73550)" (( "(") (binary_expression "puVar26 + 0x73550" (identifier "puVar26") (+ "+") (number_literal "0x73550")) () ")"))))) () ")")) (; ";")) (do_statement "do {\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    } while (piVar5 != *(int **)(puVar26 + 0x73550));" (do "do") (compound_statement "{\n      if (piVar5 == (int *)0x0) break;\n      iVar19 = FUN_0003b04c(0x32);\n      uVar2 = *(undefined4 *)(iVar11 + 0x250);\n      piVar20[0x2e] = iVar19;\n      FUN_0003b23c(iVar19,uVar2);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);\n      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);\n      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);\n      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));\n      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);\n      puVar3 = (undefined4 *)piVar20[0x2e];\n      pppcStack_88 = (code ***)0x0;\n      FUN_0003aef4(puVar3,&pppcStack_88,4);\n      iVar19 = piVar20[0x2e];\n      puVar3[6] = *puVar3;\n      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);\n      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }\n      puVar7 = (undefined1 *)safemalloc(iVar19,1);\n      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }\n      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));\n      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);\n      (**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);\n      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\n      unaff_s5 = pppppcVar23;\nLAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);\nLAB_00042dd8:\n      pppppcVar23 = unaff_s5;\n    }" ({ "{") (if_statement "if (piVar5 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar5 == (int *)0x0)" (( "(") (binary_expression "piVar5 == (int *)0x0" (identifier "piVar5") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5098" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5098")) () ")"))) (; ";")) (expression_statement "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);" (assignment_expression "ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_)" (identifier "ppppcStack_90") (= "=") (cast_expression "(code ****)CONCAT13(1,ppppcStack_90._1_3_)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "CONCAT13(1,ppppcStack_90._1_3_)" (identifier "CONCAT13") (argument_list "(1,ppppcStack_90._1_3_)" (( "(") (number_literal "1") (, ",") (field_expression "ppppcStack_90._1_3_" (identifier "ppppcStack_90") (. ".") (field_identifier "_1_3_")) () ")"))))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],pppppcVar23,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],pppppcVar23,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (identifier "pppppcVar23") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));" (call_expression "FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30))" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(*piVar5 + 0x30)" (* "*") (cast_expression "(undefined4 *)(*piVar5 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar5 + 0x30)" (( "(") (binary_expression "*piVar5 + 0x30" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);" (assignment_expression "unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94)" (parenthesized_expression "(**(code **)(*piVar5 + 0xc))" (( "(") (pointer_expression "**(code **)(*piVar5 + 0xc)" (* "*") (pointer_expression "*(code **)(*piVar5 + 0xc)" (* "*") (cast_expression "(code **)(*piVar5 + 0xc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0xc)" (( "(") (binary_expression "*piVar5 + 0xc" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0xc")) () ")"))))) () ")")) (argument_list "(piVar5[1],&ppppcStack_94)" (( "(") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "&ppppcStack_94" (& "&") (identifier "ppppcStack_94")) () ")"))))) (; ";")) (expression_statement "puVar3 = (undefined4 *)piVar20[0x2e];" (assignment_expression "puVar3 = (undefined4 *)piVar20[0x2e]" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)piVar20[0x2e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (; ";")) (expression_statement "pppcStack_88 = (code ***)0x0;" (assignment_expression "pppcStack_88 = (code ***)0x0" (identifier "pppcStack_88") (= "=") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_0003aef4(puVar3,&pppcStack_88,4);" (call_expression "FUN_0003aef4(puVar3,&pppcStack_88,4)" (identifier "FUN_0003aef4") (argument_list "(puVar3,&pppcStack_88,4)" (( "(") (identifier "puVar3") (, ",") (pointer_expression "&pppcStack_88" (& "&") (identifier "pppcStack_88")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[0x2e];" (assignment_expression "iVar19 = piVar20[0x2e]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) (; ";")) (expression_statement "puVar3[6] = *puVar3;" (assignment_expression "puVar3[6] = *puVar3" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";")) (expression_statement "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);" (call_expression "FUN_0003b124(iVar19,unaff_s5,ppppcStack_94)" (identifier "FUN_0003b124") (argument_list "(iVar19,unaff_s5,ppppcStack_94)" (( "(") (identifier "iVar19") (, ",") (identifier "unaff_s5") (, ",") (identifier "ppppcStack_94") () ")"))) (; ";")) (expression_statement "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (identifier "iVar19") (= "=") (binary_expression "*(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4)" (binary_expression "*(int *)piVar20[0x2e] + -1" (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (+ "+") (number_literal "-1")) (+ "+") (pointer_expression "*(int *)(iVar11 + 0xe4)" (* "*") (cast_expression "(int *)(iVar11 + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {\n        iVar19 = iVar19 + -4;\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) != 0)" (( "(") (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) != 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" (( "(") (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" (* "*") (cast_expression "(uint *)(iVar11 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = iVar19 + -4;\n      }" ({ "{") (expression_statement "iVar19 = iVar19 + -4;" (assignment_expression "iVar19 = iVar19 + -4" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -4" (identifier "iVar19") (+ "+") (number_literal "-4"))) (; ";")) (} "}"))) (expression_statement "puVar7 = (undefined1 *)safemalloc(iVar19,1);" (assignment_expression "puVar7 = (undefined1 *)safemalloc(iVar19,1)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)safemalloc(iVar19,1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "safemalloc(iVar19,1)" (identifier "safemalloc") (argument_list "(iVar19,1)" (( "(") (identifier "iVar19") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }\n      else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar11 + 0x50) & 0x80) == 0)" (( "(") (binary_expression "(*(uint *)(iVar11 + 0x50) & 0x80) == 0" (parenthesized_expression "(*(uint *)(iVar11 + 0x50) & 0x80)" (( "(") (binary_expression "*(uint *)(iVar11 + 0x50) & 0x80" (pointer_expression "*(uint *)(iVar11 + 0x50)" (* "*") (cast_expression "(uint *)(iVar11 + 0x50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar15 = 4;\n        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);\n        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);\n        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);\n        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);\n        puVar12 = puVar7 + 4;\n      }" ({ "{") (expression_statement "iVar15 = 4;" (assignment_expression "iVar15 = 4" (identifier "iVar15") (= "=") (number_literal "4")) (; ";")) (expression_statement "*puVar7 = *(undefined1 *)(iVar11 + 0xe4);" (assignment_expression "*puVar7 = *(undefined1 *)(iVar11 + 0xe4)" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (pointer_expression "*(undefined1 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined1 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")"))))) (; ";")) (expression_statement "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)*(undefined2 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined2 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined2 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);" (assignment_expression "puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8)" (( "(") (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4) >> 8" (binary_expression "(uint)*(undefined4 *)(iVar11 + 0xe4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);" (assignment_expression "puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4)" (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)*(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "puVar12 = puVar7 + 4;" (assignment_expression "puVar12 = puVar7 + 4" (identifier "puVar12") (= "=") (binary_expression "puVar7 + 4" (identifier "puVar7") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" (else "else") (compound_statement "{\n        iVar15 = 0;\n        puVar12 = puVar7;\n      }" ({ "{") (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" (identifier "iVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12 = puVar7;" (assignment_expression "puVar12 = puVar7" (identifier "puVar12") (= "=") (identifier "puVar7")) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));" (call_expression "(**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73b14)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73b14)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b14)" (( "(") (binary_expression "puVar26 + 0x73b14" (identifier "puVar26") (+ "+") (number_literal "0x73b14")) () ")"))))) () ")")) (argument_list "(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4))" (( "(") (identifier "puVar12") (, ",") (binary_expression "iVar11 + 0xa4" (identifier "iVar11") (+ "+") (number_literal "0xa4")) (, ",") (pointer_expression "*(undefined4 *)(iVar11 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);" (assignment_expression "iVar15 = iVar15 + *(int *)(iVar11 + 0xe4)" (identifier "iVar15") (= "=") (binary_expression "iVar15 + *(int *)(iVar11 + 0xe4)" (identifier "iVar15") (+ "+") (pointer_expression "*(int *)(iVar11 + 0xe4)" (* "*") (cast_expression "(int *)(iVar11 + 0xe4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xe4)" (( "(") (binary_expression "iVar11 + 0xe4" (identifier "iVar11") (+ "+") (number_literal "0xe4")) () ")")))))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);" (call_expression "(**(code **)(puVar26 + 0x73b14))\n                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" (parenthesized_expression "(**(code **)(puVar26 + 0x73b14))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73b14)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73b14)" (* "*") (cast_expression "(code **)(puVar26 + 0x73b14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73b14)" (( "(") (binary_expression "puVar26 + 0x73b14" (identifier "puVar26") (+ "+") (number_literal "0x73b14")) () ")"))))) () ")")) (argument_list "(puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5)" (( "(") (binary_expression "puVar7 + iVar15" (identifier "puVar7") (+ "+") (identifier "iVar15")) (, ",") (binary_expression "((int *)piVar20[0x2e])[4] + 5" (subscript_expression "((int *)piVar20[0x2e])[4]" (parenthesized_expression "((int *)piVar20[0x2e])" (( "(") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]"))) () ")")) ([ "[") (number_literal "4") (] "]")) (+ "+") (number_literal "5")) (, ",") (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (+ "+") (number_literal "-5")) () ")"))) (; ";")) (if_statement "if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" (if "if") (parenthesized_expression "(iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15)" (( "(") (binary_expression "iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15" (identifier "iVar19") (== "==") (binary_expression "*(int *)piVar20[0x2e] + -5 + iVar15" (binary_expression "*(int *)piVar20[0x2e] + -5" (pointer_expression "*(int *)piVar20[0x2e]" (* "*") (cast_expression "(int *)piVar20[0x2e]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")))) (+ "+") (number_literal "-5")) (+ "+") (identifier "iVar15"))) () ")")) (compound_statement "{\n        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;\n        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);\n        safefree(unaff_s5);\n        safefree(pppppcVar23);\n        safefree(puVar7);\n        FUN_000463f8(iVar11,piVar20[0x2e]);\n        (**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);\n        iVar19 = *piVar5;\n        iVar15 = piVar5[1];\n        piVar20[1] = 1;\n        (**(code **)(iVar19 + 4))(iVar15);\n        safefree(piVar5[2]);\n        safefree(piVar5);\n        iVar19 = piVar20[3];\n        goto LAB_0003fb74;\n      }" ({ "{") (expression_statement "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)\n        ;" (assignment_expression "pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)" (parenthesized_expression "(**(code **)(*piVar5 + 0x2c))" (( "(") (pointer_expression "**(code **)(*piVar5 + 0x2c)" (* "*") (pointer_expression "*(code **)(*piVar5 + 0x2c)" (* "*") (cast_expression "(code **)(*piVar5 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0x2c)" (( "(") (binary_expression "*piVar5 + 0x2c" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x2c")) () ")"))))) () ")")) (argument_list "(piVar5[1],puVar7,iVar19,pppppcVar23)" (( "(") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "puVar7") (, ",") (identifier "iVar19") (, ",") (identifier "pppppcVar23") () ")"))))) (; ";")) (expression_statement "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90);" (call_expression "FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" (identifier "FUN_0003d9e8") (argument_list "(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23\n                     ,ppppcStack_90)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x50)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x50)" (( "(") (binary_expression "iVar11 + 0x50" (identifier "iVar11") (+ "+") (number_literal "0x50")) () ")")))) (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (identifier "unaff_s5") (, ",") (identifier "ppppcStack_94") (, ",") (identifier "pppppcVar23") (, ",") (identifier "ppppcStack_90") () ")"))) (; ";")) (expression_statement "safefree(unaff_s5);" (call_expression "safefree(unaff_s5)" (identifier "safefree") (argument_list "(unaff_s5)" (( "(") (identifier "unaff_s5") () ")"))) (; ";")) (expression_statement "safefree(pppppcVar23);" (call_expression "safefree(pppppcVar23)" (identifier "safefree") (argument_list "(pppppcVar23)" (( "(") (identifier "pppppcVar23") () ")"))) (; ";")) (expression_statement "safefree(puVar7);" (call_expression "safefree(puVar7)" (identifier "safefree") (argument_list "(puVar7)" (( "(") (identifier "puVar7") () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5224" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5224")) () ")"))) (; ";")) (expression_statement "iVar19 = *piVar5;" (assignment_expression "iVar19 = *piVar5" (identifier "iVar19") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "iVar15 = piVar5[1];" (assignment_expression "iVar15 = piVar5[1]" (identifier "iVar15") (= "=") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar20[1] = 1;" (assignment_expression "piVar20[1] = 1" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "(**(code **)(iVar19 + 4))(iVar15);" (call_expression "(**(code **)(iVar19 + 4))(iVar15)" (parenthesized_expression "(**(code **)(iVar19 + 4))" (( "(") (pointer_expression "**(code **)(iVar19 + 4)" (* "*") (pointer_expression "*(code **)(iVar19 + 4)" (* "*") (cast_expression "(code **)(iVar19 + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar19 + 4)" (( "(") (binary_expression "iVar19 + 4" (identifier "iVar19") (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(iVar15)" (( "(") (identifier "iVar15") () ")"))) (; ";")) (expression_statement "safefree(piVar5[2]);" (call_expression "safefree(piVar5[2])" (identifier "safefree") (argument_list "(piVar5[2])" (( "(") (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "safefree(piVar5);" (call_expression "safefree(piVar5)" (identifier "safefree") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73938)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73938)" (* "*") (cast_expression "(code **)(puVar26 + 0x73938)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73938)" (( "(") (binary_expression "puVar26 + 0x73938" (identifier "puVar26") (+ "+") (number_literal "0x73938")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5210" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5210")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x2763") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x7e08")) () ")"))) (; ";")) (expression_statement "unaff_s5 = pppppcVar23;" (assignment_expression "unaff_s5 = pppppcVar23" (identifier "unaff_s5") (= "=") (identifier "pppppcVar23")) (; ";")) (labeled_statement "LAB_00042db4:\n      (**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (statement_identifier "LAB_00042db4") (: ":") (expression_statement "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);" (call_expression "(**(code **)(puVar26 + 0x73938))\n                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (parenthesized_expression "(**(code **)(puVar26 + 0x73938))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73938)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73938)" (* "*") (cast_expression "(code **)(puVar26 + 0x73938)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73938)" (( "(") (binary_expression "puVar26 + 0x73938" (identifier "puVar26") (+ "+") (number_literal "0x73938")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,\n                 *(int *)(puVar26 + 0x72fb4) + 0x7e08)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5014" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5014")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x35c0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x35c0")) (, ",") (number_literal "0x2600") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x7e08" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x7e08")) () ")"))) (; ";"))) (labeled_statement "LAB_00042dd8:\n      pppppcVar23 = unaff_s5;" (statement_identifier "LAB_00042dd8") (: ":") (expression_statement "pppppcVar23 = unaff_s5;" (assignment_expression "pppppcVar23 = unaff_s5" (identifier "pppppcVar23") (= "=") (identifier "unaff_s5")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(piVar5 != *(int **)(puVar26 + 0x73550))" (( "(") (binary_expression "piVar5 != *(int **)(puVar26 + 0x73550)" (identifier "piVar5") (!= "!=") (pointer_expression "*(int **)(puVar26 + 0x73550)" (* "*") (cast_expression "(int **)(puVar26 + 0x73550)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73550)" (( "(") (binary_expression "puVar26 + 0x73550" (identifier "puVar26") (+ "+") (number_literal "0x73550")) () ")"))))) () ")")) (; ";")) (labeled_statement "LAB_00041b34:\n    pppppcVar23 = (code *****)(iVar11 + 0x110);" (statement_identifier "LAB_00041b34") (: ":") (expression_statement "pppppcVar23 = (code *****)(iVar11 + 0x110);" (assignment_expression "pppppcVar23 = (code *****)(iVar11 + 0x110)" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)(iVar11 + 0x110)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (; ";"))) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" (identifier "FUN_0003a5ac") (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c)" (( "(") (identifier "pppppcVar23") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51f0" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x51f0")) (, ",") (number_literal "0x1c") () ")"))) (; ";")) (expression_statement "unaff_s5 = (code *****)ppppcStack_90;" (assignment_expression "unaff_s5 = (code *****)ppppcStack_90" (identifier "unaff_s5") (= "=") (cast_expression "(code *****)ppppcStack_90" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppcStack_90"))) (; ";")) (expression_statement "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);" (assignment_expression "uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(puVar26 + 0x73a54))(ppppcStack_90)" (parenthesized_expression "(**(code **)(puVar26 + 0x73a54))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73a54)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73a54)" (* "*") (cast_expression "(code **)(puVar26 + 0x73a54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73a54)" (( "(") (binary_expression "puVar26 + 0x73a54" (identifier "puVar26") (+ "+") (number_literal "0x73a54")) () ")"))))) () ")")) (argument_list "(ppppcStack_90)" (( "(") (identifier "ppppcStack_90") () ")")))) (; ";")) (expression_statement "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);" (call_expression "FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2)" (identifier "FUN_0003a5ac") (argument_list "(pppppcVar23,unaff_s5,uVar2)" (( "(") (identifier "pppppcVar23") (, ",") (identifier "unaff_s5") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);" (call_expression "FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" (identifier "FUN_0003a5ac") (argument_list "(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3)" (( "(") (identifier "pppppcVar23") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + -0x116c" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "-0x116c")) (, ",") (number_literal "3") () ")"))) (; ";")) (expression_statement "iVar19 = piVar20[3];" (assignment_expression "iVar19 = piVar20[3]" (identifier "iVar19") (= "=") (subscript_expression "piVar20[3]" (identifier "piVar20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (goto_statement "goto LAB_0003fb74;" (goto "goto") (statement_identifier "LAB_0003fb74") (; ";")) (} "}"))) (if_statement "if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }\n  else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" (if "if") (parenthesized_expression "((piVar20[7] == 0) || (piVar20[0xc] != 0))" (( "(") (binary_expression "(piVar20[7] == 0) || (piVar20[0xc] != 0)" (parenthesized_expression "(piVar20[7] == 0)" (( "(") (binary_expression "piVar20[7] == 0" (subscript_expression "piVar20[7]" (identifier "piVar20") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar20[0xc] != 0)" (( "(") (binary_expression "piVar20[0xc] != 0" (subscript_expression "piVar20[0xc]" (identifier "piVar20") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }\n  }" ({ "{") (if_statement "if (piVar20[6] == 0) {\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }\n    else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(piVar20[6] == 0)" (( "(") (binary_expression "piVar20[6] == 0" (subscript_expression "piVar20[6]" (identifier "piVar20") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);\n      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);\nLAB_00041054:\n      safefree(uVar2);\n      *piVar20 = 0;\n    }" ({ "{") (expression_statement "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);" (assignment_expression "uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" (identifier "uVar2") (= "=") (call_expression "dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" (identifier "dupprintf") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5554" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5554")) (, ",") (identifier "ppppcStack_90") (, ",") (identifier "ppppcStack_94") () ")")))) (; ";")) (expression_statement "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);" (call_expression "FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" (identifier "FUN_00047994") (argument_list "(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0)" (( "(") (identifier "iVar11") (, ",") (identifier "uVar2") (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5598" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5598")) (, ",") (number_literal "0xe") (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "LAB_00041054:\n      safefree(uVar2);" (statement_identifier "LAB_00041054") (: ":") (expression_statement "safefree(uVar2);" (call_expression "safefree(uVar2)" (identifier "safefree") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";"))) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(iVar11 + 0x188) = 2;\n      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));\n      piVar20[0xf] = (int)puVar3;\n      *puVar3 = 1;\n      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);\n      uVar16 = *(undefined4 *)(iVar11 + 0xf8);\n      uVar14 = *(undefined4 *)(iVar11 + 0x250);\n      pppppcVar23 = (code *****)piVar20[0xf];\n      iVar19 = *(int *)(puVar26 + 0x72fb4);\n      puVar3[1] = uVar2;\n      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);\n      add_prompt(pppppcVar23,uVar2,0);\n      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);\nLAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 2;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 2" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));" (assignment_expression "puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "new_prompts(*(undefined4 *)(iVar11 + 0x110))" (identifier "new_prompts") (argument_list "(*(undefined4 *)(iVar11 + 0x110))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) () ")"))))) (; ";")) (expression_statement "piVar20[0xf] = (int)puVar3;" (assignment_expression "piVar20[0xf] = (int)puVar3" (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(int)puVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar3"))) (; ";")) (expression_statement "*puVar3 = 1;" (assignment_expression "*puVar3 = 1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);" (assignment_expression "uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" (identifier "uVar2") (= "=") (call_expression "dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" (identifier "dupstr") (argument_list "(*(int *)(puVar26 + 0x72fb4) + 0x54a8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54a8" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54a8")) () ")")))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0xf8);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0xf8)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0xf8)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0xf8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xf8)" (( "(") (binary_expression "iVar11 + 0xf8" (identifier "iVar11") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar14 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "pppppcVar23 = (code *****)piVar20[0xf];" (assignment_expression "pppppcVar23 = (code *****)piVar20[0xf]" (identifier "pppppcVar23") (= "=") (cast_expression "(code *****)piVar20[0xf]" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar26 + 0x72fb4);" (assignment_expression "iVar19 = *(int *)(puVar26 + 0x72fb4)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "puVar3[1] = uVar2;" (assignment_expression "puVar3[1] = uVar2" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);" (assignment_expression "uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16)" (identifier "uVar2") (= "=") (call_expression "dupprintf(iVar19 + 0x5480,uVar14,uVar16)" (identifier "dupprintf") (argument_list "(iVar19 + 0x5480,uVar14,uVar16)" (( "(") (binary_expression "iVar19 + 0x5480" (identifier "iVar19") (+ "+") (number_literal "0x5480")) (, ",") (identifier "uVar14") (, ",") (identifier "uVar16") () ")")))) (; ";")) (expression_statement "add_prompt(pppppcVar23,uVar2,0);" (call_expression "add_prompt(pppppcVar23,uVar2,0)" (identifier "add_prompt") (argument_list "(pppppcVar23,uVar2,0)" (( "(") (identifier "pppppcVar23") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);" (assignment_expression "iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0)" (parenthesized_expression "(**(code **)(puVar26 + 0x73538))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73538)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73538)" (* "*") (cast_expression "(code **)(puVar26 + 0x73538)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73538)" (( "(") (binary_expression "puVar26 + 0x73538" (identifier "puVar26") (+ "+") (number_literal "0x73538")) () ")"))))) () ")")) (argument_list "(piVar20[0xf],0,0)" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (labeled_statement "LAB_00040118:\n      if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" (statement_identifier "LAB_00040118") (: ":") (if_statement "if (iVar19 < 0) {\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }\n      else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" (if "if") (parenthesized_expression "(iVar19 < 0)" (( "(") (binary_expression "iVar19 < 0" (identifier "iVar19") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(iVar11 + 0x100) = 1;\n        *piVar20 = 0x28e8;\n      }" ({ "{") (expression_statement "*(undefined4 *)(iVar11 + 0x100) = 1;" (assignment_expression "*(undefined4 *)(iVar11 + 0x100) = 1" (pointer_expression "*(undefined4 *)(iVar11 + 0x100)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100)" (( "(") (binary_expression "iVar11 + 0x100" (identifier "iVar11") (+ "+") (number_literal "0x100")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar20 = 0x28e8;" (assignment_expression "*piVar20 = 0x28e8" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x28e8")) (; ";")) (} "}")) (else_clause "else {\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" (else "else") (compound_statement "{\n        iVar15 = piVar20[0xf];\n        if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }\n      }" ({ "{") (expression_statement "iVar15 = piVar20[0xf];" (assignment_expression "iVar15 = piVar20[0xf]" (identifier "iVar15") (= "=") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]"))) (; ";")) (if_statement "if (iVar19 == 0) {\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }\n        else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\nLAB_00040b08:\n          (*pcVar27)(iVar15);\n          uVar2 = 0xd;\n          iVar19 = 0;\n          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;\nLAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);\n          *piVar20 = 0;\n        }" ({ "{") (labeled_statement "LAB_00040b04:\n          pcVar27 = *(code **)(puVar26 + 0x7353c);" (statement_identifier "LAB_00040b04") (: ":") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) (; ";"))) (labeled_statement "LAB_00040b08:\n          (*pcVar27)(iVar15);" (statement_identifier "LAB_00040b08") (: ":") (expression_statement "(*pcVar27)(iVar15);" (call_expression "(*pcVar27)(iVar15)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15)" (( "(") (identifier "iVar15") () ")"))) (; ";"))) (expression_statement "uVar2 = 0xd;" (assignment_expression "uVar2 = 0xd" (identifier "uVar2") (= "=") (number_literal "0xd")) (; ";")) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" (identifier "iVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;" (assignment_expression "iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x51c4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x51c4"))) (; ";")) (labeled_statement "LAB_00040b30:\n          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" (statement_identifier "LAB_00040b30") (: ":") (expression_statement "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);" (call_expression "FUN_00047994(iVar11,iVar19,iVar15,uVar2,1)" (identifier "FUN_00047994") (argument_list "(iVar11,iVar19,iVar15,uVar2,1)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar19") (, ",") (identifier "iVar15") (, ",") (identifier "uVar2") (, ",") (number_literal "1") () ")"))) (; ";"))) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" (else "else") (compound_statement "{\n          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));\n          pcVar27 = *(code **)(puVar26 + 0x7353c);\n          piVar20[0x12] = iVar19;\n          (*pcVar27)(piVar20[0xf]);\n          iVar19 = FUN_0003b04c(0x32);\n          uVar2 = *(undefined4 *)(iVar11 + 0x250);\n          piVar20[0x2e] = iVar19;\n          FUN_0003b23c(iVar19,uVar2);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);\n          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);\n          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);\n          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);\n          FUN_0004c528(iVar11,piVar20[0x2e]);\n          (**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);\n          piVar20[1] = 4;\nLAB_00040220:\n          *piVar20 = 0x2917;\n        }" ({ "{") (expression_statement "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));" (assignment_expression "iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (identifier "iVar19") (= "=") (call_expression "dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (identifier "dupstr") (argument_list "(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8))" (( "(") (pointer_expression "*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" (* "*") (cast_expression "(undefined4 *)(**(int **)(iVar15 + 0x18) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(iVar15 + 0x18) + 8)" (( "(") (binary_expression "**(int **)(iVar15 + 0x18) + 8" (pointer_expression "**(int **)(iVar15 + 0x18)" (* "*") (pointer_expression "*(int **)(iVar15 + 0x18)" (* "*") (cast_expression "(int **)(iVar15 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x7353c);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x7353c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x7353c)" (* "*") (cast_expression "(code **)(puVar26 + 0x7353c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x7353c)" (( "(") (binary_expression "puVar26 + 0x7353c" (identifier "puVar26") (+ "+") (number_literal "0x7353c")) () ")"))))) (; ";")) (expression_statement "piVar20[0x12] = iVar19;" (assignment_expression "piVar20[0x12] = iVar19" (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "(*pcVar27)(piVar20[0xf]);" (call_expression "(*pcVar27)(piVar20[0xf])" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(piVar20[0xf])" (( "(") (subscript_expression "piVar20[0xf]" (identifier "piVar20") ([ "[") (number_literal "0xf") (] "]")) () ")"))) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x54ac" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x54ac")) () ")"))) (; ";")) (expression_statement "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);" (assignment_expression "pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff)" (identifier "pppcStack_98") (= "=") (cast_expression "(code ***)((uint)pppcStack_98 & 0xffffff)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((uint)pppcStack_98 & 0xffffff)" (( "(") (binary_expression "(uint)pppcStack_98 & 0xffffff" (cast_expression "(uint)pppcStack_98" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppcStack_98")) (& "&") (number_literal "0xffffff")) () ")")))) (; ";")) (expression_statement "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);" (call_expression "FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1)" (identifier "FUN_0003aef4") (argument_list "(piVar20[0x2e],&pppcStack_98,1)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (pointer_expression "&pppcStack_98" (& "&") (identifier "pppcStack_98")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);" (call_expression "FUN_0003b23c(piVar20[0x2e],piVar20[0x12])" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],piVar20[0x12])" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (subscript_expression "piVar20[0x12]" (identifier "piVar20") ([ "[") (number_literal "0x12") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0004c528(iVar11,piVar20[0x2e]);" (call_expression "FUN_0004c528(iVar11,piVar20[0x2e])" (identifier "FUN_0004c528") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);" (call_expression "(**(code **)(puVar26 + 0x73038))\n                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x5494" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x5494")) () ")"))) (; ";")) (expression_statement "piVar20[1] = 4;" (assignment_expression "piVar20[1] = 4" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "4")) (; ";")) (labeled_statement "LAB_00040220:\n          *piVar20 = 0x2917;" (statement_identifier "LAB_00040220") (: ":") (expression_statement "*piVar20 = 0x2917;" (assignment_expression "*piVar20 = 0x2917" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x2917")) (; ";"))) (} "}")))) (} "}"))))) (} "}")))) (} "}")) (else_clause "else {\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" (else "else") (compound_statement "{\n    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);\n    piVar20[1] = 6;\n    *(undefined4 *)(iVar11 + 0x188) = 4;\n    iVar19 = FUN_0003b04c(0x32);\n    uVar2 = *(undefined4 *)(iVar11 + 0x250);\n    piVar20[0x2e] = iVar19;\n    FUN_0003b23c(iVar19,uVar2);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);\n    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);\n    FUN_000463f8(iVar11,piVar20[0x2e]);\n    (**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);\nLAB_0004072c:\n    *piVar20 = 0x284b;\n  }" ({ "{") (expression_statement "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);" (assignment_expression "pppppcVar23 = *(code ******)(puVar26 + 0x72fb4)" (identifier "pppppcVar23") (= "=") (pointer_expression "*(code ******)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(code ******)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")"))))) (; ";")) (expression_statement "piVar20[1] = 6;" (assignment_expression "piVar20[1] = 6" (subscript_expression "piVar20[1]" (identifier "piVar20") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "6")) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + 0x188) = 4;" (assignment_expression "*(undefined4 *)(iVar11 + 0x188) = 4" (pointer_expression "*(undefined4 *)(iVar11 + 0x188)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x188)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x188)" (( "(") (binary_expression "iVar11 + 0x188" (identifier "iVar11") (+ "+") (number_literal "0x188")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "iVar19 = FUN_0003b04c(0x32);" (assignment_expression "iVar19 = FUN_0003b04c(0x32)" (identifier "iVar19") (= "=") (call_expression "FUN_0003b04c(0x32)" (identifier "FUN_0003b04c") (argument_list "(0x32)" (( "(") (number_literal "0x32") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar11 + 0x250);" (assignment_expression "uVar2 = *(undefined4 *)(iVar11 + 0x250)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x250)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x250)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x250)" (( "(") (binary_expression "iVar11 + 0x250" (identifier "iVar11") (+ "+") (number_literal "0x250")) () ")"))))) (; ";")) (expression_statement "piVar20[0x2e] = iVar19;" (assignment_expression "piVar20[0x2e] = iVar19" (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "FUN_0003b23c(iVar19,uVar2);" (call_expression "FUN_0003b23c(iVar19,uVar2)" (identifier "FUN_0003b23c") (argument_list "(iVar19,uVar2)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x4c34" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x4c34")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);" (call_expression "FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x50a4" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x50a4")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "pppppcVar23 + 0x13d9" (identifier "pppppcVar23") (+ "+") (number_literal "0x13d9")) () ")"))) (; ";")) (expression_statement "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);" (call_expression "FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9)" (identifier "FUN_0003b23c") (argument_list "(piVar20[0x2e],pppppcVar23 + 0x13d9)" (( "(") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) (, ",") (binary_expression "pppppcVar23 + 0x13d9" (identifier "pppppcVar23") (+ "+") (number_literal "0x13d9")) () ")"))) (; ";")) (expression_statement "FUN_000463f8(iVar11,piVar20[0x2e]);" (call_expression "FUN_000463f8(iVar11,piVar20[0x2e])" (identifier "FUN_000463f8") (argument_list "(iVar11,piVar20[0x2e])" (( "(") (identifier "iVar11") (, ",") (subscript_expression "piVar20[0x2e]" (identifier "piVar20") ([ "[") (number_literal "0x2e") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);" (call_expression "(**(code **)(puVar26 + 0x73038))\n              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" (parenthesized_expression "(**(code **)(puVar26 + 0x73038))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x73038)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x73038)" (* "*") (cast_expression "(code **)(puVar26 + 0x73038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x73038)" (( "(") (binary_expression "puVar26 + 0x73038" (identifier "puVar26") (+ "+") (number_literal "0x73038")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec)" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x110)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x110)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x110)" (( "(") (binary_expression "iVar11 + 0x110" (identifier "iVar11") (+ "+") (number_literal "0x110")) () ")")))) (, ",") (binary_expression "*(int *)(puVar26 + 0x72fb4) + 0x53ec" (pointer_expression "*(int *)(puVar26 + 0x72fb4)" (* "*") (cast_expression "(int *)(puVar26 + 0x72fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x72fb4)" (( "(") (binary_expression "puVar26 + 0x72fb4" (identifier "puVar26") (+ "+") (number_literal "0x72fb4")) () ")")))) (+ "+") (number_literal "0x53ec")) () ")"))) (; ";")) (labeled_statement "LAB_0004072c:\n    *piVar20 = 0x284b;" (statement_identifier "LAB_0004072c") (: ":") (expression_statement "*piVar20 = 0x284b;" (assignment_expression "*piVar20 = 0x284b" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x284b")) (; ";"))) (} "}")))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (labeled_statement "LAB_0003fb80:\n  *piVar20 = 0x25a0;" (statement_identifier "LAB_0003fb80") (: ":") (expression_statement "*piVar20 = 0x25a0;" (assignment_expression "*piVar20 = 0x25a0" (pointer_expression "*piVar20" (* "*") (identifier "piVar20")) (= "=") (number_literal "0x25a0")) (; ";"))) (goto_statement "goto LAB_0003fd3c;" (goto "goto") (statement_identifier "LAB_0003fd3c") (; ";")) (} "}")))

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

void function_1(void *channel,char *hostname,int port,char *org)

{
  type_1 var_31;
  int var_8;
  type_2 *var_11;
  char *var_42;
  type_3 *ppVar5;
  int *var_40;
  int var_32;
  type_4 p_Var8;
  type_5 *ptVar9;
  type_2 *pPVar10;
  type_6 var_26;
  size_t n;
  type_7 *var_39;
  type_8 var_15;
  type_9 *var_64;
  type_10 *pbVar15;
  type_11 uVar16;
  type_11 *puVar17;
  type_11 uVar18;
  type_12 *var_57;
  type_13 *pXVar20;
  type_14 ssh;
  type_15 *pCVar21;
  type_16 *psVar22;
  int var_67;
  int var_20;
  char *var_46;
  type_17 handler;
  type_18 *var_66;
  int var_30;
  type_16 *psVar28;
  type_14 ssh_00;
  int *var_10;
  type_6 *puVar30;
  void *var_50;
  bool bVar32;
  void **ppvVar33;
  type_19 *var_14;
  type_2 *unaff_s5;
  type_20 *var_9;
  type_21 *pcVar35;
  char *pcStack_ac;
  type_11 uStack_a8;
  type_22 auStack_a4 [4];
  int var_33;
  int var_34;
  type_8 var_13;
  type_2 *pPStack_94;
  type_2 *apPStack_90 [2];
  int iStack_88;
  type_6 var_43;
  type_14 psStack_80;
  type_1 *puStack_7c;
  char *pcStack_78;
  type_20 *puStack_74;
  int iStack_70;
  type_1 x [4];
  
  var_14 = (type_19 *)PTR___stack_chk_guard_000b2f04;
                    /* WARNING: Load size is inaccurate */
  ssh_00 = *channel;
  var_8 = *(int *)PTR___stack_chk_guard_000b2f04;
  var_1(ssh_00,var_2 + 0x4ba4,hostname,port);
  if (ssh_00->version != 1) {
    var_11 = var_3((type_16 *)((int)channel + 8),(char *)((int)channel + 0x34),
                                (type_16 *)(var_2 + 0x4bc8));
    var_42 = var_4(hostname);
    var_5(var_11,var_42);
                    /* WARNING: Subroutine does not return */
    var_6(var_42);
  }
  var_20 = 1;
  var_11 = *(type_2 **)((int)channel + 8);
  var_42 = (char *)0x1d;
  ssh = ssh_00;
  var_7(ssh_00,0x1d);
  if (var_8 == *(int *)var_14) {
    return;
  }
  var_9 = PTR___stack_chk_fail_000b2ed8;
  (*(type_21 *)PTR___stack_chk_fail_000b2ed8)();
  puVar30 = *(type_6 **)(var_9 + 0x73b10);
  var_10 = (int *)ssh->do_ssh2_authconn_state;
  puStack_74 = (type_20 *)var_14;
  var_43 = *puVar30;
  psStack_80 = ssh_00;
  puStack_7c = (type_1 *)channel;
  pcStack_78 = hostname;
  iStack_70 = port;
  if (var_10 != (int *)0x0) {
    var_8 = *var_10;
    if (var_8 == 0x27b6) {
      if (var_11 == (type_2 *)0x0) {
        *var_10 = 0x27b6;
        goto LAB_0003fd3c;
      }
      if (var_11->type != 0x3c) {
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5270);
        var_8 = var_10[3];
        goto LAB_0003fb74;
      }
      var_12(var_11,(char **)&pPStack_94,(int *)&var_13);
      var_10[0x35] = (int)pPStack_94;
      var_10[0x34] = var_13;
      if ((((var_13 != var_10[0x32] + 2U) || (*(char *)&pPStack_94->length != '\x06')) ||
          (var_10[0x32] != (int)*(char *)((int)&pPStack_94->length + 1))) ||
         (var_8 = (**(type_21 **)(var_9 + 0x73af8))
                            ((type_22 *)((int)&pPStack_94->length + 2),var_10[0x33]), var_8 != 0
         )) {
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5298);
        var_8 = var_10[3];
        goto LAB_0003fb74;
      }
      var_14 = (type_19 *)(var_10 + 0x38);
      var_8 = (**(type_21 **)(var_10[0x30] + 0xc))(var_10[0x30],ssh->fullhostname,var_14);
      var_10[0x39] = var_8;
      if (var_8 != 0) {
        if (var_8 == 3) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x52cc);
          var_8 = var_10[3];
          goto LAB_0003fb74;
        }
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x52fc);
        var_8 = var_10[3];
        goto LAB_0003fb74;
      }
      var_8 = (**(type_21 **)(var_10[0x30] + 0x1c))(var_10[0x30],var_10 + 0x31);
      var_10[0x39] = var_8;
      if (var_8 != 0) goto LAB_00042b98;
      var_10[0x34] = 0;
      var_10[0x35] = 0;
      var_10[0x36] = 0;
      var_10[0x37] = 0;
      var_14 = (type_19 *)var_10[0x30];
LAB_0004138c:
      var_8 = var_10[0x38];
      unaff_s5 = *(type_2 **)((int)(var_14 + 1) + 8);
      uVar18 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x28);
      var_15 = (*(type_21 *)unaff_s5)(var_14,var_10 + 0x31,var_8,uVar18,var_10 + 0x34,var_10 + 0x36)
      ;
      var_10[0x39] = var_15;
      if (var_15 < 2) {
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5374);
        if (var_10[0x36] != 0) {
          var_11 = var_16(0x3d);
          var_10[0x2e] = (int)var_11;
          iStack_88 = 0;
                    /* WARNING: Subroutine does not return */
          var_17(var_11,&iStack_88,4);
        }
        var_8 = var_10[0x39];
        if (var_8 == 1) {
LAB_00042310:
          *var_10 = 0x2807;
          goto LAB_0003fd3c;
        }
      }
      else {
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5348);
        var_8 = (**(type_21 **)(var_10[0x30] + 0x2c))(var_10[0x30],var_10[0x31],var_10 + 0x32);
        if (var_8 == 0) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,var_10[0x33]);
                    /* WARNING: Subroutine does not return */
          var_6((void *)var_10[0x33]);
        }
        var_8 = var_10[0x39];
      }
LAB_00041414:
      if (var_8 == 0) {
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x53c4);
        var_11 = var_16(0);
        var_10[0x2e] = (int)var_11;
                    /* WARNING: Subroutine does not return */
        iStack_88 = 0;
        var_17(var_11,&iStack_88,4);
      }
LAB_00040d18:
      var_14 = (type_19 *)(var_10 + 0x38);
      (**(type_21 **)(var_10[0x30] + 0x10))(var_10[0x30],var_14);
      (**(type_21 **)(var_10[0x30] + 0x20))(var_10[0x30],var_10 + 0x31);
      var_8 = var_10[3];
      goto LAB_0003fb74;
    }
    if (var_8 < 0x27b7) {
      if (var_8 == 0x2561) {
        if (var_11 != (type_2 *)0x0) {
          *var_10 = 0x2561;
          goto LAB_0003fd3c;
        }
        var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf]);
        ssh->send_ok = 0;
        goto LAB_00040ca4;
      }
      if (0x2561 < var_8) {
        if (var_8 != 0x2696) {
          if (0x2696 < var_8) {
            if (var_8 != 0x26df) {
              if (var_8 != 0x2703) goto LAB_0003fd38;
              if (var_11 != (type_2 *)0x0) {
                *var_10 = 0x2703;
                goto LAB_0003fd3c;
              }
              var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf]);
              ssh->send_ok = 0;
              goto LAB_00040240;
            }
            if (var_11 == (type_2 *)0x0) {
              *var_10 = 0x26df;
              goto LAB_0003fd3c;
            }
            if (var_11->type == 0x3c) {
              (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x516c);
              if ((**(type_8 **)(var_9 + 0x730a8) & 1) == 0) goto LAB_00041ae8;
              ppvVar33 = &ssh->frontend;
              var_18((type_14)ppvVar33,(char *)(*(int *)(var_9 + 0x72fb4) + 0x50e4),0x20);
              unaff_s5 = (type_2 *)var_10[0x19];
              var_8 = (**(type_21 **)(var_9 + 0x73a54))(unaff_s5);
              var_18((type_14)ppvVar33,(char *)unaff_s5,var_8);
              var_18((type_14)ppvVar33,(char *)(*(int *)(var_9 + 0x72fb4) + 0x518c),3);
              goto LAB_00041ae8;
            }
            var_10[3] = 1;
            var_10[1] = 2;
            goto LAB_0003f824;
          }
          if (var_8 == 0x25a0) {
            if (var_11 != (type_2 *)0x0) goto LAB_0003f828;
            *var_10 = 0x25a0;
            goto LAB_0003fd3c;
          }
          if (var_8 != 0x2650) goto LAB_0003fd38;
          if (var_11 == (type_2 *)0x0) {
            *var_10 = 0x2650;
            goto LAB_0003fd3c;
          }
          if (var_11->type == 0x3c) {
            if ((**(type_8 **)(var_9 + 0x730a8) & 1) != 0) {
              ppvVar33 = &ssh->frontend;
              var_18((type_14)ppvVar33,(char *)(*(int *)(var_9 + 0x72fb4) + 0x50e4),0x20);
              var_18((type_14)ppvVar33,(char *)var_10[0x24],var_10[0x27]);
              var_18((type_14)ppvVar33,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5108),0xe);
            }
            var_11 = var_16(0x32);
            var_42 = ssh->username;
            var_10[0x2e] = (int)var_11;
            var_5(var_11,var_42);
            var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34)
                             );
            var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x5098)
                             );
            apPStack_90[0] = (type_2 *)var_19(1,apPStack_90[0]._1_3_);
                    /* WARNING: Subroutine does not return */
            var_17((type_2 *)var_10[0x2e],apPStack_90,1);
          }
          var_10[3] = 1;
          if (var_10[0x1f] == 0) {
            var_20 = var_10[0x20];
            var_8 = var_10[3];
            var_10[0x20] = var_20 + 1;
            if (var_20 + 1 < var_10[0x21]) goto LAB_0003fb74;
            var_10[9] = 1;
            goto LAB_0003fb74;
          }
          var_8 = var_10[3];
          var_10[9] = 1;
          var_10[8] = 1;
          goto LAB_0003fb74;
        }
        var_8 = *(int *)(var_9 + 0x72fb4);
        if (var_11 == (type_2 *)0x0) {
          if (0 < var_20) {
            *var_10 = 0x2696;
            goto LAB_0003fd3c;
          }
          apPStack_90[0] = (type_2 *)ssh->agent_response;
          var_10[0x29] = ssh->agent_response_len;
                    /* WARNING: Subroutine does not return */
          var_10[0x2d] = (int)apPStack_90[0];
          var_6((void *)var_10[0x2c]);
        }
LAB_00040040:
        var_42 = var_21((char *)(var_8 + 0x4d34));
        goto LAB_00040050;
      }
      if (var_8 == 0x246f) {
        if (var_11 == (type_2 *)0x0) goto LAB_00042034;
        if (var_11->type != 6) goto LAB_000400a0;
        var_10[2] = 1;
        goto LAB_0003fe10;
      }
      if (var_8 < 0x2470) {
        var_20 = *(int *)(var_9 + 0x73504);
        if (var_8 != 0) goto LAB_0003fd38;
        goto LAB_0003fd9c;
      }
      if (var_8 == 0x247a) {
        if (var_11 == (type_2 *)0x0) goto LAB_000400f8;
        if (var_11->type != 6) {
          var_42 = var_21((char *)(*(int *)(var_9 + 0x72fb4) + 0x4c44));
          goto LAB_00040050;
        }
        goto LAB_0003fe04;
      }
      if (var_8 != 0x24d9) goto LAB_0003fd38;
      if (var_11 != (type_2 *)0x0) {
        var_8 = *(int *)(var_9 + 0x72fb4);
        goto LAB_00040040;
      }
      if (0 < var_20) goto LAB_00040ffc;
      apPStack_90[0] = (type_2 *)ssh->agent_response;
      var_10[0x1e] = ssh->agent_response_len;
      goto LAB_0003fbf0;
    }
    if (var_8 == 0x2917) {
      if (var_11 == (type_2 *)0x0) {
        *var_10 = 0x2917;
        goto LAB_0003fd3c;
      }
      if (var_11->type != 0x3c) {
LAB_00040ef0:
        var_50 = (void *)var_10[0x12];
        pcVar35 = *(type_21 **)(var_9 + 0x73a54);
        var_10[3] = 1;
        n = (*pcVar35)(var_50);
        var_22(var_50,n);
                    /* WARNING: Subroutine does not return */
        var_6((void *)var_10[0x12]);
      }
      var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x4c00);
LAB_0003f4b4:
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,var_42);
      var_8 = (**(type_21 **)(var_9 + 0x73a54))(var_42);
      var_18((type_14)&ssh->frontend,var_42,var_8);
      var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4d08),2);
      var_12(var_11,(char **)&pPStack_94,(int *)apPStack_90);
      ppVar5 = var_23(ssh->frontend);
      var_10[0xf] = (int)ppVar5;
      ppVar5->to_server = 1;
                    /* WARNING: Subroutine does not return */
      var_24((char *)(*(int *)(var_9 + 0x72fb4) + 0x54a4));
    }
    if (0x2917 < var_8) {
      if (var_8 == 0x2a03) {
        if (var_11 == (type_2 *)0x0) goto LAB_00040660;
        var_8 = var_11->type;
        if (1 < var_8 - 0x5bU) {
          var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x5618);
          goto LAB_00040078;
        }
        var_26 = var_25(var_11);
        psVar22 = ssh->mainchan;
        if (var_26 != psVar22->localid) {
          var_42 = (char *)(**(type_21 **)(var_9 + 0x73010))(*(int *)(var_9 + 0x72fb4) + 0x5660);
          goto LAB_00040050;
        }
        if (var_11->type != 0x5c) {
          pPVar10 = var_11;
          var_26 = var_25(var_11);
          psVar28 = ssh->mainchan;
          psVar22->remoteid = var_26;
          psVar28->halfopen = 0;
          psVar28->type = 0;
          var_26 = var_25(pPVar10);
          psVar22 = ssh->mainchan;
          (psVar28->v).v2.remwindow = var_26;
          var_26 = var_25(pPVar10);
          var_50 = ssh->frontend;
          pcVar35 = *(type_21 **)(var_9 + 0x7348c);
          (psVar22->v).v2.remmaxpkt = var_26;
          (*pcVar35)(var_50);
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x56cc);
          goto LAB_0003ff14;
        }
        var_42 = var_27(var_11);
        var_46 = (char *)(**(type_21 **)(var_9 + 0x73010))
                                    (*(int *)(var_9 + 0x72fb4) + 0x56a4,var_42);
        var_28(ssh,var_46);
LAB_00041054:
                    /* WARNING: Subroutine does not return */
        var_6(var_42);
      }
      if (0x2a03 < var_8) {
        if (var_8 != 0x2a90) {
          if (var_8 != 0x2abd) goto LAB_0003fd38;
          if (var_11 != (type_2 *)0x0) {
            var_8 = var_11->type;
            var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x5808);
            goto LAB_00040078;
          }
          if (ssh->mainchan == (type_16 *)0x0) goto LAB_0003f7c4;
          var_29(ssh->mainchan,var_42,var_20);
          goto LAB_0003f7c4;
        }
        if (var_11 == (type_2 *)0x0) goto LAB_00041870;
        var_8 = var_11->type;
        if (var_8 == 99) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x57f0);
          goto LAB_0003ffec;
        }
        if (var_8 != 100) {
          var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x575c);
          goto LAB_00040078;
        }
        if ((ssh->fallback_cmd == 0) &&
           (var_42 = (char *)(**(type_21 **)(var_9 + 0x73094))(ssh->conf,0x15), *var_42 != '\0')) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x579c);
          ssh->fallback_cmd = 1;
          goto LAB_0004261c;
        }
        var_42 = var_21((char *)(*(int *)(var_9 + 0x72fb4) + 0x57c8));
        goto LAB_00040050;
      }
      if (var_8 == 0x2956) {
        if (var_11 != (type_2 *)0x0) {
          *var_10 = 0x2956;
          goto LAB_0003fd3c;
        }
        var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf]);
        ssh->send_ok = 0;
        while( true ) {
          if (var_8 < 0) {
            ssh->send_ok = 1;
            *var_10 = 0x2956;
            goto LAB_0003fd3c;
          }
          if (var_8 == 0) break;
          var_40 = *(int **)(var_10[0xf] + 0x18);
          if (**(char **)(*var_40 + 8) != '\0') {
            var_8 = var_10[0x12];
            uVar18 = (**(type_21 **)(var_9 + 0x73a54))(var_8);
            (**(type_21 **)(var_9 + 0x7306c))(var_8,uVar18);
            (**(type_21 **)(var_9 + 0x72fdc))(var_10[0x12]);
            var_8 = (**(type_21 **)(var_9 + 0x7301c))
                              (*(type_11 *)(**(int **)(var_10[0xf] + 0x18) + 8));
            var_10[0x12] = var_8;
            var_40 = *(int **)(var_10[0xf] + 0x18);
          }
          var_8 = (**(type_21 **)(var_9 + 0x73b4c))
                            (*(type_11 *)(var_40[1] + 8),*(type_11 *)(var_40[2] + 8));
          if (var_8 == 0) {
            var_11 = var_16(0x32);
            var_42 = ssh->username;
            var_10[0x2e] = (int)var_11;
            var_5(var_11,var_42);
            var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34)
                             );
            var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x54ac)
                             );
            var_13 = var_19(1,var_13._1_3_);
                    /* WARNING: Subroutine does not return */
            var_17((type_2 *)var_10[0x2e],&var_13,1);
          }
          var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5524),0x18);
          var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf],0,0);
        }
        (**(type_21 **)(var_9 + 0x7353c))();
        var_8 = var_10[0x12];
        uVar18 = (**(type_21 **)(var_9 + 0x73a54))(var_8);
        (**(type_21 **)(var_9 + 0x7306c))(var_8,uVar18);
        var_20 = var_10[0x12];
        pcVar35 = *(type_21 **)(var_9 + 0x72fdc);
        goto LAB_00040b08;
      }
      if (var_8 != 0x2999) goto LAB_0003fd38;
      if (var_11 == (type_2 *)0x0) {
        *var_10 = 0x2999;
        goto LAB_0003fd3c;
      }
      if (var_11->type != 0x3c) goto LAB_00040ef0;
      var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x4be0);
      goto LAB_0003f4b4;
    }
    if (var_8 == 0x28a4) {
      if (var_11 != (type_2 *)0x0) {
        *var_10 = 0x28a4;
        goto LAB_0003fd3c;
      }
      var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf]);
      ssh->send_ok = 0;
      goto LAB_00040af0;
    }
    if (var_8 < 0x28a5) {
      if (var_8 == 0x2807) {
        if (var_11 == (type_2 *)0x0) goto LAB_00042310;
        if (var_11->type != 0x3d) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5398);
          var_10[0x39] = 4;
          goto LAB_00040d18;
        }
        var_12(var_11,(char **)&pPStack_94,(int *)&var_13);
        var_8 = var_10[0x39];
        var_10[0x35] = (int)pPStack_94;
        var_10[0x34] = var_13;
        if (var_8 == 1) {
          var_14 = (type_19 *)var_10[0x30];
          goto LAB_0004138c;
        }
        goto LAB_00041414;
      }
      if (var_8 != 0x284b) goto LAB_0003fd38;
      if (var_11 == (type_2 *)0x0) goto LAB_0004072c;
      var_8 = *(int *)(var_9 + 0x7336c);
      if (var_11->type != 0x3c) {
        var_10[3] = 1;
        var_10[1] = 7;
        var_10[0xc] = 1;
        goto LAB_0003f824;
      }
    }
    else {
      if (var_8 != 0x28ca) {
        if (var_8 != 0x28e8) goto LAB_0003fd38;
        if (var_11 != (type_2 *)0x0) {
          *var_10 = 0x28e8;
          goto LAB_0003fd3c;
        }
        var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf]);
        ssh->send_ok = 0;
        if (var_8 < 0) {
          ssh->send_ok = 1;
          *var_10 = 0x28e8;
          goto LAB_0003fd3c;
        }
        var_20 = var_10[0xf];
        if (var_8 == 0) goto FUN_00040b04;
                    /* WARNING: Subroutine does not return */
        var_24(*(char **)(**(int **)(var_20 + 0x18) + 8));
      }
      if (var_11 == (type_2 *)0x0) {
        *var_10 = 0x28ca;
        goto LAB_0003fd3c;
      }
      if (var_11->type != 0x3c) {
        var_10[3] = 1;
        goto LAB_0003f824;
      }
      var_8 = *(int *)(var_9 + 0x7336c);
    }
    pcVar35 = (type_21 *)(var_8 + 0x7704);
    var_12(var_11,&pcStack_ac,&var_33);
    (*pcVar35)(var_11,&uStack_a8,&var_34);
    (*pcVar35)(var_11,auStack_a4,&var_13);
    puVar17 = (type_11 *)(**(type_21 **)(var_9 + 0x73530))(ssh->frontend);
    var_10[0xf] = (int)puVar17;
    *puVar17 = 1;
    var_26 = var_25(var_11);
    var_10[0x10] = var_26;
    if (0 < (int)var_26) {
      var_32 = *(int *)(var_9 + 0x72fa4);
      var_20 = 0;
      unaff_s5 = (type_2 *)apPStack_90;
      var_8 = *(int *)(var_9 + 0x72fb4);
      do {
        (*pcVar35)(var_11,&pPStack_94,unaff_s5);
        var_30 = var_11->savedpos;
        if (var_11->length - var_30 < 1) {
          bVar32 = false;
        }
        else {
          var_31 = var_11->body[var_30];
          var_11->savedpos = var_30 + 1;
          bVar32 = var_31 != '\0';
        }
        if (apPStack_90[0] == (type_2 *)0x0) {
          apPStack_90[0] = (type_2 *)&DAT_00000020;
          pPStack_94 = (type_2 *)(var_32 + 0x2280);
        }
        var_20 = var_20 + 1;
        var_30 = var_10[0xf];
        uVar18 = (**(type_21 **)(var_9 + 0x73010))(var_8 + 0x5428,apPStack_90[0],pPStack_94);
        (**(type_21 **)(var_9 + 0x73534))(var_30,uVar18,bVar32);
      } while (var_20 < var_10[0x10]);
    }
    var_14 = (type_19 *)var_10[0xf];
    if (var_33 == 0) {
      pbVar15 = (type_10 *)
                (**(type_21 **)(var_9 + 0x7301c))(*(int *)(var_9 + 0x72fb4) + 0x5430);
      var_8 = var_10[0xf];
      var_14->tail = pbVar15;
      *(type_11 *)(var_8 + 8) = 0;
    }
    else {
      pbVar15 = (type_10 *)
                (**(type_21 **)(var_9 + 0x73010))
                          (*(int *)(var_9 + 0x72fb4) + 0x541c,var_33,pcStack_ac);
      var_8 = var_10[0xf];
      var_14->tail = pbVar15;
      *(type_11 *)(var_8 + 8) = 1;
    }
    if (var_10[0x10] == 0 && var_33 == 0) {
      var_20 = *(int *)(var_9 + 0x72fb4);
      if (var_34 != 0) {
LAB_00042638:
        var_20 = var_20 + 0x71dc;
        goto LAB_000422b4;
      }
      *(type_11 *)(var_8 + 0x10) = 0;
    }
    else {
      var_20 = *(int *)(var_9 + 0x72fb4);
      if (var_34 != 0) goto LAB_00042638;
      var_20 = *(int *)(var_9 + 0x72fb4) + 0x4f64;
LAB_000422b4:
      uVar18 = (**(type_21 **)(var_9 + 0x73010))
                         (*(int *)(var_9 + 0x72fb4) + 0x544c,var_20,var_34,uStack_a8);
      *(type_11 *)(var_8 + 0xc) = uVar18;
      var_8 = var_10[0xf];
      *(type_11 *)(var_8 + 0x10) = 1;
    }
    var_8 = (**(type_21 **)(var_9 + 0x73538))(var_8,0,0);
LAB_00040af0:
    if (var_8 < 0) {
      ssh->send_ok = 1;
      *var_10 = 0x28a4;
      goto LAB_0003fd3c;
    }
    if (var_8 != 0) {
      var_11 = var_16(0x3d);
                    /* WARNING: Subroutine does not return */
      var_10[0x2e] = (int)var_11;
      var_35(var_11,var_10[0x10]);
    }
    var_20 = var_10[0xf];
    goto FUN_00040b04;
  }
  var_10 = (int *)var_36(1,0xe8);
  ssh->do_ssh2_authconn_state = var_10;
  *var_10 = 0;
  var_20 = *(int *)(var_9 + 0x73504);
  var_11 = (type_2 *)port;
LAB_0003fd9c:
  var_8 = ssh->bare_connection;
  p_Var8 = (type_4)(var_20 + 0xae0);
  ssh->packet_dispatch[6] = p_Var8;
  ssh->packet_dispatch[0x32] = p_Var8;
  ssh->packet_dispatch[0x33] = p_Var8;
  ssh->packet_dispatch[0x34] = p_Var8;
  ssh->packet_dispatch[0x35] = p_Var8;
  ssh->packet_dispatch[0x3c] = p_Var8;
  ssh->packet_dispatch[0x3d] = p_Var8;
  ssh->packet_dispatch[0x50] = p_Var8;
  ssh->packet_dispatch[0x51] = p_Var8;
  ssh->packet_dispatch[0x52] = p_Var8;
  ssh->packet_dispatch[0x5a] = p_Var8;
  ssh->packet_dispatch[0x5b] = p_Var8;
  ssh->packet_dispatch[0x5c] = p_Var8;
  ssh->packet_dispatch[0x5d] = p_Var8;
  ssh->packet_dispatch[0x5e] = p_Var8;
  ssh->packet_dispatch[0x5f] = p_Var8;
  ssh->packet_dispatch[0x60] = p_Var8;
  ssh->packet_dispatch[0x61] = p_Var8;
  var_10[2] = 0;
  var_10[0xe] = 0;
  var_10[0xd] = 0;
  var_10[0x1c] = 0;
  var_10[0xb] = 0;
  if (var_8 == 0) {
    var_8 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x23);
    if (var_8 == 0) {
      pPVar10 = var_16(5);
      var_10[0x2e] = (int)pPVar10;
      var_5(pPVar10,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c24));
      var_37(ssh,(type_2 *)var_10[0x2e]);
LAB_00042034:
      *var_10 = 0x246f;
      goto LAB_0003fd3c;
    }
LAB_000400a0:
    if (var_10[2] == 0) {
      pPVar10 = var_16(5);
      var_10[0x2e] = (int)pPVar10;
      var_5(pPVar10,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
      var_37(ssh,(type_2 *)var_10[0x2e]);
LAB_000400f8:
      *var_10 = 0x247a;
      goto LAB_0003fd3c;
    }
  }
  else {
LAB_0003fe04:
    var_10[0xd] = 1;
  }
LAB_0003fe10:
  var_38(&ssh->banner);
  var_8 = var_10[0xd];
  ssh->packet_dispatch[0x35] = (type_4)(*(int *)(var_9 + 0x734a0) + -0x2890);
  var_10[0x14] = 0;
  if (var_8 != 0) {
    var_10[0x13] = 0;
    goto LAB_0003fe38;
  }
  var_8 = (**(type_21 **)(var_9 + 0x73134))(ssh->conf,0x20);
  pcVar35 = *(type_21 **)(var_9 + 0x73554);
  var_10[0x2f] = var_8;
  var_8 = (*pcVar35)(var_8);
  if (var_8 == 0) {
    uVar18 = (**(type_21 **)(var_9 + 0x73124))(var_10[0x2f]);
    var_14 = (type_19 *)(*(int *)(var_9 + 0x7336c) + 0x6ce8);
    var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c64),uVar18);
    var_8 = (**(type_21 **)(var_9 + 0x73564))(var_10[0x2f]);
    if (var_8 == 3) {
      var_8 = (**(type_21 **)(var_9 + 0x7356c))
                        (var_10[0x2f],var_10 + 0x18,var_10 + 0x15,var_10 + 0x19,apPStack_90);
      var_10[0x14] = var_8;
      if (var_8 == 0) goto LAB_000424c4;
      var_10[0x16] = 1;
LAB_0004292c:
      var_8 = (**(type_21 **)(var_9 + 0x73574))(var_10[0x2f],0);
      var_10[0x17] = var_8;
    }
    else if (var_8 - 9U < 2) {
      var_8 = (**(type_21 **)(var_9 + 0x7356c))
                        (var_10[0x2f],var_10 + 0x18,var_10 + 0x15,var_10 + 0x19,apPStack_90);
      var_10[0x14] = var_8;
      if (var_8 != 0) {
        var_8 = *(int *)(var_9 + 0x72fb4);
        var_10[0x16] = 0;
        var_1(ssh,(char *)(var_8 + 0x582c));
        goto LAB_0004292c;
      }
LAB_000424c4:
      var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c80),apPStack_90[0]);
      uVar18 = (**(type_21 **)(var_9 + 0x73124))(var_10[0x2f]);
      var_42 = (char *)(**(type_21 **)(var_9 + 0x73010))
                                 (*(int *)(var_9 + 0x72fb4) + 0x4c98,uVar18,apPStack_90[0]);
      var_8 = (**(type_21 **)(var_9 + 0x73a54))(var_42);
      var_18((type_14)&ssh->frontend,var_42,var_8);
      (**(type_21 **)(var_9 + 0x72fdc))(var_42);
    }
    else {
      uVar18 = (**(type_21 **)(var_9 + 0x73568))(var_8);
      var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4cc0),uVar18);
      uVar18 = (**(type_21 **)(var_9 + 0x73124))(var_10[0x2f]);
      uVar16 = (**(type_21 **)(var_9 + 0x73568))(var_8);
      var_42 = (char *)(**(type_21 **)(var_9 + 0x73010))
                                 (*(int *)(var_9 + 0x72fb4) + 0x4ce4,uVar18,uVar16);
      var_8 = (**(type_21 **)(var_9 + 0x73a54))(var_42);
      var_18((type_14)&ssh->frontend,var_42,var_8);
      (**(type_21 **)(var_9 + 0x72fdc))(var_42);
      var_10[0x14] = 0;
    }
  }
  pCVar21 = ssh->conf;
  pcVar35 = *(type_21 **)(var_9 + 0x73040);
  var_10[0x21] = 0;
  var_10[0x1c] = 0;
  var_10[0x1f] = 0;
  var_8 = (*pcVar35)(pCVar21,0x1c);
  if ((var_8 == 0) || (var_8 = (**(type_21 **)(var_9 + 0x73524))(), var_8 == 0)) goto LAB_0003fc30;
  (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4d0c);
  var_10[0x1a] = 1;
  *(type_22 *)(var_10 + 0x1b) = 0xb;
  var_39 = (type_7 *)
            (**(type_21 **)(var_9 + 0x73030))
                      (var_10 + 0x1a,5,apPStack_90,var_10 + 0x1e,
                       *(int *)(var_9 + 0x73504) + 0xa58,ssh);
  ssh->auth_agent_query = var_39;
  if (var_39 != (type_7 *)0x0) {
LAB_00040ffc:
    *var_10 = 0x24d9;
    goto LAB_0003fd3c;
  }
LAB_0003fbf0:
  var_11 = apPStack_90[0];
  var_10[0x1c] = (int)apPStack_90[0];
  if (apPStack_90[0] == (type_2 *)0x0) {
LAB_0003fc18:
    var_8 = *(int *)(var_9 + 0x72fb4);
  }
  else {
    var_8 = *(int *)(var_9 + 0x72fb4);
    if (4 < var_10[0x1e]) {
      if (*(char *)&apPStack_90[0]->forcepad == '\f') {
        var_8 = (**(type_21 **)(var_9 + 0x73100))
                          (*(type_11 *)((int)&apPStack_90[0]->forcepad + 1));
        var_10[0x21] = var_8;
        if (var_8 < 0) {
          var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4d74),var_8);
          var_10[0x21] = 0;
        }
        else {
          var_11 = (type_2 *)((int)&var_11->type + 1);
          var_14 = (type_19 *)(var_10[0x1e] + -9);
          if (var_8 == 0) {
LAB_00042c08:
            var_14 = (type_19 *)(*(int *)(var_9 + 0x7336c) + 0x6ce8);
            var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4dc8),var_8);
            if (var_10[0x14] != 0) {
              unaff_s5 = (type_2 *)0x0;
              if (0 < var_10[0x21]) {
                do {
                  var_8 = (**(type_21 **)(var_9 + 0x73100))(var_11->length);
                  var_10[0x25] = var_8;
                  if ((var_8 == var_10[0x15]) &&
                     (var_20 = (**(type_21 **)(var_9 + 0x73af8))
                                         (&var_11->forcepad,var_10[0x14],var_8), var_20 == 0)) {
                    var_1(ssh,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4de4),unaff_s5);
                    var_10[0x20] = (int)unaff_s5;
                    var_10[0x1f] = (int)var_11;
                    goto LAB_0003fc30;
                  }
                  unaff_s5 = (type_2 *)((int)&unaff_s5->length + 1);
                  puVar17 = (type_11 *)((int)&var_11->forcepad + var_8);
                  var_8 = (**(type_21 **)(var_9 + 0x73100))(*puVar17);
                  var_11 = (type_2 *)((int)puVar17 + var_8 + 4);
                } while ((int)unaff_s5 < var_10[0x21]);
              }
              if (var_10[0x1f] == 0) {
                (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4e10)
                ;
                var_10[0x21] = 0;
              }
            }
          }
          else {
            var_8 = *(int *)(var_9 + 0x72fb4);
            if (3 < (int)var_14) {
              unaff_s5 = (type_2 *)0x0;
              pPVar10 = var_11;
              do {
                var_14 = (type_19 *)((int)(var_14 + -1) + 8);
                var_40 = (int *)(**(type_21 **)(var_9 + 0x73100))(pPVar10->length);
                if (var_14 < var_40) {
LAB_00042a68:
                  var_8 = *(int *)(var_9 + 0x72fb4);
                  break;
                }
                puVar17 = (type_11 *)((int)&pPVar10->forcepad + (int)var_40);
                var_14 = (type_19 *)((int)var_14 + (-4 - (int)var_40));
                var_20 = (**(type_21 **)(var_9 + 0x73100))(*puVar17);
                if ((var_20 < 0) || ((int)var_14 < var_20)) goto LAB_00042a68;
                var_8 = var_10[0x21];
                unaff_s5 = (type_2 *)((int)&unaff_s5->length + 1);
                var_14 = (type_19 *)((int)var_14 - var_20);
                pPVar10 = (type_2 *)((int)puVar17 + var_20 + 4);
                if (var_8 <= (int)unaff_s5) goto LAB_00042c08;
                var_8 = *(int *)(var_9 + 0x72fb4);
              } while (3 < (int)var_14);
            }
            var_1(ssh,(char *)(var_8 + 0x4da8));
            var_10[0x21] = 0;
          }
        }
        goto LAB_0003fc30;
      }
      goto LAB_0003fc18;
    }
  }
  (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,var_8 + 0x4e34);
LAB_0003fc30:
  var_10[0x13] = 0;
  if (var_10[0xd] != 0) goto LAB_0003fe38;
  pCVar21 = ssh->conf;
LAB_0003fc40:
  var_42 = var_41(pCVar21);
  ssh->username = var_42;
  if (var_42 == (char *)0x0) {
    puVar17 = (type_11 *)(**(type_21 **)(var_9 + 0x73530))(ssh->frontend);
    var_10[0xf] = (int)puVar17;
    *puVar17 = 1;
    uVar18 = (**(type_21 **)(var_9 + 0x7301c))(*(int *)(var_9 + 0x72fb4) + 0x4e58);
    var_14 = (type_19 *)var_10[0xf];
    puVar17[1] = uVar18;
    uVar18 = (**(type_21 **)(var_9 + 0x7301c))(*(int *)(var_9 + 0x72fb4) + 0x4e68);
    (**(type_21 **)(var_9 + 0x73534))(var_14,uVar18,1);
    var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf],0,0);
LAB_00040ca4:
    if (var_8 < 0) {
      ssh->send_ok = 1;
      *var_10 = 0x2561;
      goto LAB_0003fd3c;
    }
    if (var_8 == 0) {
      (**(type_21 **)(var_9 + 0x7353c))();
      var_8 = 0;
      var_46 = (char *)0x0;
      var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x4e74);
      goto LAB_00040b30;
    }
    var_42 = (char *)(**(type_21 **)(var_9 + 0x7301c))
                               (*(type_11 *)(**(int **)(var_10[0xf] + 0x18) + 8));
    var_8 = var_10[0xf];
    pcVar35 = *(type_21 **)(var_9 + 0x7353c);
    ssh->username = var_42;
    (*pcVar35)(var_8);
  }
  else if ((**(type_8 **)(var_9 + 0x730a8) & 5) != 0) {
    var_42 = (char *)(**(type_21 **)(var_9 + 0x73010))(*(int *)(var_9 + 0x72fb4) + 0x4e8c,var_42);
    var_8 = (**(type_21 **)(var_9 + 0x73a54))(var_42);
    var_18((type_14)&ssh->frontend,var_42,var_8);
    (**(type_21 **)(var_9 + 0x72fdc))(var_42);
  }
LAB_0003fc6c:
  var_10[0x13] = 1;
  ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;
  pPVar10 = var_16(0x32);
  var_42 = ssh->username;
  var_10[0x2e] = (int)pPVar10;
  var_5(pPVar10,var_42);
  var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
  var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4ea4));
  var_37(ssh,(type_2 *)var_10[0x2e]);
  var_10[1] = 0;
  var_10[3] = 0;
  var_10[0xd] = 0;
  var_10[8] = 0;
  var_10[0xc] = 0;
  var_10[9] = 0;
  if (var_10[0x1c] == 0) goto LAB_0003fb80;
  if (var_10[0x1f] == 0) {
    var_10[0x20] = 0;
    var_10[0x1d] = var_10[0x1c] + 9;
    *var_10 = 0x25a0;
  }
  else {
    var_10[0x1d] = var_10[0x1f];
    *var_10 = 0x25a0;
  }
LAB_0003fd3c:
  if (var_43 == *puVar30) {
    return;
  }
  (**(type_21 **)(var_9 + 0x73ae4))();
LAB_00042b98:
  (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5318);
  (**(type_21 **)(var_10[0x30] + 0x10))(var_10[0x30],var_14);
  var_8 = var_10[3];
LAB_0003fb74:
  pPStack_94 = (type_2 *)0x0;
  apPStack_90[0] = (type_2 *)0x0;
  if (var_8 == 0) goto LAB_0003fb80;
LAB_0003f824:
  apPStack_90[0] = (type_2 *)0x0;
  pPStack_94 = (type_2 *)0x0;
LAB_0003f828:
  var_14 = &ssh->banner;
  var_8 = var_44(var_14);
  if (var_8 != 0) {
    unaff_s5 = *(type_2 **)(var_9 + 0x730a8);
    if ((unaff_s5->length & 5U) != 0) {
      var_42 = (char *)(**(type_21 **)(var_9 + 0x73014))(var_8,1);
      (**(type_21 **)(var_9 + 0x7304c))(var_14,var_42,var_8);
      if ((unaff_s5->length & 2U) == 0) {
        var_45(ssh->frontend,var_42,var_8);
      }
      else {
        puVar17 = *(type_11 **)(var_9 + 0x73b28);
        if (0 < var_8) {
          var_46 = var_42;
          do {
            var_15 = (type_8)*var_46;
            if ((var_15 != 0xd) && ((var_15 == 10 || ((var_15 & 0x60) != 0)))) {
              (**(type_21 **)(var_9 + 0x739c4))(var_15,*puVar17);
            }
            var_46 = var_46 + 1;
          } while (var_46 != var_42 + var_8);
        }
      }
                    /* WARNING: Subroutine does not return */
      var_6(var_42);
    }
  }
  var_47(var_14);
  var_8 = var_11->type;
  if (var_8 == 0x34) {
    (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4eac);
    var_10[0xe] = 1;
    var_10[0xd] = 1;
LAB_0003fe38:
    var_8 = var_10[0x14];
    ssh->packet_dispatch[0x35] = (type_4)0x0;
    if (var_8 != 0) {
                    /* WARNING: Subroutine does not return */
      var_6((void *)var_10[0x18]);
    }
    if ((void *)var_10[0x1c] != (void *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_6((void *)var_10[0x1c]);
    }
    var_8 = *(int *)(var_9 + 0x7336c);
    if (var_10[0xe] == 0) {
LAB_0003fecc:
      pcVar35 = *(type_21 **)(var_9 + 0x730c8);
    }
    else {
      pcVar35 = *(type_21 **)(var_9 + 0x730c8);
      if (ssh->bare_connection == 0) {
        var_48(ssh,(void *)(*(int *)(var_9 + 0x72fb4) + 0x55c8),-2,(type_2 *)0x0);
        var_8 = *(int *)(var_9 + 0x7336c);
        goto LAB_0003fecc;
      }
    }
    ptVar9 = (type_5 *)(*pcVar35)(var_8 + 0x6ba0);
    ssh->channels = ptVar9;
    pCVar21 = ssh->conf;
    pcVar35 = *(type_21 **)(var_9 + 0x73040);
    ssh->packet_dispatch[0x5d] = (type_4)(*(int *)(var_9 + 0x73504) + -0x4ed8);
    ssh->packet_dispatch[0x50] = (type_4)(*(int *)(var_9 + 0x734a0) + 0x6eec);
    var_8 = (*pcVar35)(pCVar21,0x2d);
    if (var_8 == 0) {
      psVar22 = (type_16 *)var_36(1,0x5c);
      ssh->mainchan = psVar22;
      psVar22->ssh = ssh;
      var_49(psVar22);
      var_42 = (char *)(**(type_21 **)(var_9 + 0x73094))(ssh->conf,0x2e);
      if (*var_42 == '\0') {
        pPVar10 = var_3((type_16 *)&ssh->mainchan->localid,
                                     (char *)&(ssh->mainchan->v).v2.locwindow,
                                     (type_16 *)(*(int *)(var_9 + 0x72fb4) + 0x7718));
        var_50 = ssh->frontend;
        var_10[0x2e] = (int)pPVar10;
        (**(type_21 **)(var_9 + 0x73038))(var_50,*(int *)(var_9 + 0x72fb4) + 0x55f8);
        var_37(ssh,(type_2 *)var_10[0x2e]);
        ssh->ncmode = 0;
        *var_10 = 0x2a03;
      }
      else {
        psVar22 = ssh->mainchan;
        var_14 = (type_19 *)(**(type_21 **)(var_9 + 0x73094))(ssh->conf,0x2e);
        var_8 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x2f);
        function_1(psVar22,(char *)var_14,var_8,
                           (char *)(*(int *)(var_9 + 0x72fb4) + 0x55e8));
        ssh->ncmode = 1;
LAB_00040660:
        *var_10 = 0x2a03;
      }
    }
    else {
      ssh->mainchan = (type_16 *)0x0;
LAB_0003ff14:
      var_20 = *(int *)(var_9 + 0x73504);
      var_8 = *(int *)(var_9 + 0x73504);
      var_50 = ssh->connshare;
      ssh->packet_dispatch[0x5f] = (type_4)(var_20 + -0x5294);
      ssh->packet_dispatch[0x5e] = (type_4)(var_20 + -0x5294);
      var_20 = *(int *)(var_9 + 0x73504);
      ssh->packet_dispatch[99] = (type_4)(var_8 + -0x4d18);
      ssh->packet_dispatch[100] = (type_4)(var_8 + -0x4d18);
      ssh->packet_dispatch[0x60] = (type_4)(var_20 + -0x4950);
      ssh->packet_dispatch[0x61] = (type_4)(*(int *)(var_9 + 0x73504) + -0x4ac8);
      ssh->packet_dispatch[0x5b] = (type_4)(*(int *)(var_9 + 0x73504) + -0x4c28);
      ssh->packet_dispatch[0x5c] = (type_4)(*(int *)(var_9 + 0x73504) + -0x7a0c);
      ssh->packet_dispatch[0x62] = (type_4)(*(int *)(var_9 + 0x734a0) + 0x7d24);
      ssh->packet_dispatch[0x5a] = (type_4)(*(int *)(var_9 + 0x734a0) + 0x642c);
      if (var_50 != (void *)0x0) {
        (**(type_21 **)(var_9 + 0x73544))(var_50,ssh->v_s);
      }
      if ((ssh->mainchan != (type_16 *)0x0) && (var_8 = var_51(ssh), var_8 != 0)) {
        pPVar10 = var_52(ssh->mainchan,(char *)(*(int *)(var_9 + 0x72fb4) + 0x56e0),
                                    (type_17)0x0,(void *)0x0);
        var_10[0x2e] = (int)pPVar10;
        var_37(ssh,pPVar10);
      }
      var_53(ssh,ssh->conf);
      if ((ssh->mainchan == (type_16 *)0x0) || (ssh->ncmode != 0)) {
        ssh->echoing = 1;
        ssh->editing = 1;
LAB_0003ffec:
        ssh->state = ADDRTYPE_NAME;
        if (ssh->size_needed != 0) {
          var_54(ssh,ssh->term_width,ssh->term_height);
        }
        if (ssh->eof_needed != 0) {
          var_55(ssh,TS_EOF);
        }
        if (ssh->ldisc != (void *)0x0) {
          var_56(ssh->ldisc);
        }
        if (ssh->mainchan == (type_16 *)0x0) {
LAB_0003f7c4:
          *var_10 = 0x2abd;
        }
        else {
          ssh->send_ok = 1;
          *var_10 = 0x2abd;
        }
      }
      else {
        var_8 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x95);
        if (var_8 != 0) {
          uVar18 = (**(type_21 **)(var_9 + 0x73094))(ssh->conf,0x96);
          var_57 = (type_12 *)(**(type_21 **)(var_9 + 0x73570))(uVar18,ssh->conf);
          ssh->x11disp = var_57;
          if (var_57 == (type_12 *)0x0) {
            (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5704);
          }
          else {
            ptVar9 = ssh->x11authtree;
            uVar18 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x97);
            pXVar20 = (type_13 *)(**(type_21 **)(var_9 + 0x73528))(ptVar9,uVar18);
            psVar22 = ssh->mainchan;
            ssh->x11auth = pXVar20;
            pXVar20->disp = ssh->x11disp;
            var_58(psVar22,(type_2 *)0x0,(void *)0x0);
          }
        }
        var_8 = var_59(ssh);
        if (var_8 != 0) {
          var_60(ssh->mainchan,(type_2 *)0x0,(void *)0x0);
        }
        var_8 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x16);
        if (var_8 == 0) {
          var_61(ssh->mainchan,(type_2 *)0x0,(void *)0x0);
        }
        var_62(ssh->mainchan,(type_2 *)0x0,(void *)0x0);
        if (ssh->fallback_cmd == 0) {
          var_14 = (type_19 *)(**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x2b);
          uVar18 = 0x14;
        }
        else {
LAB_0004261c:
          var_14 = (type_19 *)(**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x2c);
          uVar18 = 0x15;
        }
        var_42 = (char *)(**(type_21 **)(var_9 + 0x73094))(ssh->conf,uVar18);
        if (var_14 == (type_19 *)0x0) {
          handler = (type_17)(*(int *)(var_9 + 0x73504) + 0xaac);
          if (*var_42 != '\0') {
            var_46 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x574c);
            goto LAB_00041828;
          }
          pPVar10 = var_52(ssh->mainchan,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5754),
                                      handler,(void *)0x0);
          var_10[0x2e] = (int)pPVar10;
        }
        else {
          handler = (type_17)(*(int *)(var_9 + 0x73504) + 0xaac);
          var_46 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x5740);
LAB_00041828:
          pPVar10 = var_52(ssh->mainchan,var_46,handler,(void *)0x0);
          var_10[0x2e] = (int)pPVar10;
          var_5(pPVar10,var_42);
          pPVar10 = (type_2 *)var_10[0x2e];
        }
        var_37(ssh,pPVar10);
LAB_00041870:
        *var_10 = 0x2a90;
      }
    }
    goto LAB_0003fd3c;
  }
  if (var_8 == 0x33) {
    var_10[3] = 0;
    var_12(var_11,(char **)&pPStack_94,(int *)apPStack_90);
    var_8 = var_11->savedpos;
    if ((0 < var_11->length - var_8) &&
       (var_31 = var_11->body[var_8], var_11->savedpos = var_8 + 1, var_31 != '\0')) {
      var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5054),0x21);
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5078);
LAB_000411b0:
      var_32 = *(int *)(var_9 + 0x72fb4);
LAB_000411b4:
      pPVar10 = apPStack_90[0];
      var_11 = pPStack_94;
      var_8 = var_63((char *)(var_32 + 0x5098),(char *)pPStack_94,(int)apPStack_90[0]);
      var_10[5] = var_8;
      var_8 = var_63((char *)(*(int *)(var_9 + 0x72fb4) + 0x54ac),(char *)var_11,
                                 (int)pPVar10);
      pCVar21 = ssh->conf;
      pcVar35 = *(type_21 **)(var_9 + 0x73040);
      var_10[6] = var_8;
      var_15 = (*pcVar35)(pCVar21,0x26);
      if (var_15 != 0) {
        var_8 = var_63((char *)(*(int *)(var_9 + 0x72fb4) + 0x50a4),(char *)pPStack_94
                                   ,(int)apPStack_90[0]);
        var_15 = (type_8)(var_8 != 0);
      }
      pcVar35 = *(type_21 **)(var_9 + 0x73040);
      pCVar21 = ssh->conf;
      var_10[7] = var_15;
      var_8 = (*pcVar35)(pCVar21,0x27);
      if ((var_8 == 0) ||
         (var_8 = var_63((char *)(*(int *)(var_9 + 0x72fb4) + 0x50bc),
                                     (char *)pPStack_94,(int)apPStack_90[0]), var_8 == 0)) {
        var_10[10] = 0;
      }
      else {
        var_64 = ssh->gsslibs;
        if (var_64 == (type_9 *)0x0) {
          var_64 = (type_9 *)(**(type_21 **)(var_9 + 0x73558))(ssh->conf);
          ssh->gsslibs = var_64;
        }
        var_10[10] = (type_8)(0 < var_64->nlibraries);
      }
      goto LAB_0003f88c;
    }
    var_8 = var_10[1];
    var_20 = *(int *)(var_9 + 0x734a0);
    if (var_8 == 0) goto LAB_000411b0;
    if (var_8 - 2U < 2) {
      if (var_8 == 2) {
        var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4ef4),0x18);
      }
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4f10);
      goto LAB_000411b0;
    }
    if (var_8 == 1) {
      var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x4f28),0x3c);
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4f68);
      goto LAB_000411b0;
    }
    if (var_8 == 7) {
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4fa4);
      goto LAB_000411b0;
    }
    var_32 = *(int *)(var_9 + 0x72fb4);
    if (var_8 == 5) goto LAB_000411b4;
    if (var_8 == 6) {
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x4fd8);
      var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5004),0xf);
      goto LAB_000411b0;
    }
    if (var_8 == 4) {
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x5034);
      var_18((type_14)&ssh->frontend,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5004),0xf);
      var_8 = (**(type_21 **)(var_9 + 0x73040))(ssh->conf,0x1e);
      if (var_8 == 0) goto LAB_000411b0;
      pCVar21 = ssh->conf;
      var_10[0xd] = 0;
      if (var_10[0x13] == 0) goto LAB_0003fc40;
      var_8 = (**(type_21 **)(var_9 + 0x73040))(pCVar21,0x1e);
      if (var_8 == 0) goto LAB_0003fc6c;
      pCVar21 = ssh->conf;
      goto LAB_0003fc40;
    }
    (**(type_21 **)(var_9 + 0x73938))
              (*(int *)(var_9 + 0x72fb4) + 0x5014,*(int *)(var_9 + 0x72fb4) + 0x35c0,0x2600,
               *(int *)(var_9 + 0x72fb4) + 0x7e08);
    if (var_20 != *(int *)(var_9 + 0x73550)) goto LAB_000402f8;
  }
  else {
    if (var_10[1] != 5) {
      var_42 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x4ebc);
LAB_00040078:
      var_42 = var_21(var_42,var_8);
LAB_00040050:
      var_28(ssh,var_42);
LAB_0003fd38:
      *var_10 = 0;
      goto LAB_0003fd3c;
    }
    var_10[3] = 0;
LAB_0003f88c:
    var_8 = var_10[5];
    ssh->pkt_actx = SSH2_PKTCTX_NOAUTH;
    if (var_8 != 0) {
      if ((var_10[9] == 0) && (var_10[0x21] != 0)) {
        var_8 = *(int *)(var_9 + 0x72fb4);
        var_20 = var_10[0x20];
        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;
        var_1(ssh,(char *)(var_8 + 0x50cc),var_20);
        var_8 = (**(type_21 **)(var_9 + 0x73100))(*(type_11 *)var_10[0x1d]);
        var_32 = var_10[0x1d];
        var_10[0x25] = var_8;
        var_20 = var_32 + 4;
        var_10[0x22] = var_20;
        pcVar35 = *(type_21 **)(var_9 + 0x73100);
        var_10[0x1d] = var_20 + var_8;
        var_8 = (*pcVar35)(*(type_11 *)(var_32 + 4));
        var_10[0x26] = var_8;
        var_10[0x23] = var_10[0x22] + 4;
        var_8 = (**(type_21 **)(var_9 + 0x73100))(*(type_11 *)var_10[0x1d]);
        var_10[0x27] = var_8;
        var_10[0x24] = var_10[0x1d] + 4;
        var_10[0x1d] = var_10[0x1d] + 4 + var_8;
        var_11 = var_16(0x32);
        var_42 = ssh->username;
        var_10[0x2e] = (int)var_11;
        var_5(var_11,var_42);
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x5098));
        var_13 = var_13 & 0xffffff;
                    /* WARNING: Subroutine does not return */
        var_17((type_2 *)var_10[0x2e],&var_13,1);
      }
      if (((var_10[0x14] != 0) && (var_10[0x16] != 0)) && (var_10[8] == 0)) {
        ssh->pkt_actx = SSH2_PKTCTX_PUBLICKEY;
        var_10[8] = 1;
        var_11 = var_16(0x32);
        var_42 = ssh->username;
        var_10[0x2e] = (int)var_11;
        var_5(var_11,var_42);
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x5098));
        var_13 = var_13 & 0xffffff;
                    /* WARNING: Subroutine does not return */
        var_17((type_2 *)var_10[0x2e],&var_13,1);
      }
    }
    if ((var_10[10] == 0) || (var_10[0xb] != 0)) {
      if ((var_10[7] == 0) || (var_10[0xc] != 0)) {
        if (var_10[6] != 0) {
          ssh->pkt_actx = SSH2_PKTCTX_PASSWORD;
          ppVar5 = var_23(ssh->frontend);
          var_10[0xf] = (int)ppVar5;
          ppVar5->to_server = 1;
                    /* WARNING: Subroutine does not return */
          var_24((char *)(*(int *)(var_9 + 0x72fb4) + 0x54a8));
        }
        var_42 = var_21((char *)(*(int *)(var_9 + 0x72fb4) + 0x5554),apPStack_90[0],pPStack_94)
        ;
        var_65(ssh,var_42,(char *)(*(int *)(var_9 + 0x72fb4) + 0x5598),0xe,0);
        goto LAB_00041054;
      }
      var_14 = *(type_19 **)(var_9 + 0x72fb4);
      var_10[1] = 6;
      ssh->pkt_actx = SSH2_PKTCTX_KBDINTER;
      pPVar10 = var_16(0x32);
      var_42 = ssh->username;
      var_10[0x2e] = (int)pPVar10;
      var_5(pPVar10,var_42);
      var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
      var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x50a4));
      var_5((type_2 *)var_10[0x2e],(char *)((int)(var_14 + 0x69d) + 8));
      var_5((type_2 *)var_10[0x2e],(char *)((int)(var_14 + 0x69d) + 8));
      var_37(ssh,(type_2 *)var_10[0x2e]);
      (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x53ec);
LAB_0004072c:
      *var_10 = 0x284b;
      goto LAB_0003fd3c;
    }
    var_10[0xb] = 1;
    var_20 = 0;
    var_10[3] = 1;
    var_10[1] = 5;
    ssh->pkt_actx = SSH2_PKTCTX_GSSAPI;
    var_8 = **(int **)(var_9 + 0x73414);
    var_10[0x30] = 0;
    if (0 < var_8) {
      pcVar35 = *(type_21 **)(var_9 + 0x733d0);
      do {
        var_32 = (*pcVar35)(ssh->conf,0x29,var_20);
        var_30 = ssh->gsslibs->nlibraries;
        if (0 < var_30) {
          var_66 = ssh->gsslibs->libraries;
          if (var_32 == var_66->id) {
LAB_0004106c:
            var_10[0x30] = (int)var_66;
            goto LAB_0003f984;
          }
          var_67 = 0;
          while( true ) {
            var_66 = var_66 + 1;
            var_67 = var_67 + 1;
            if (var_67 == var_30) break;
            if (var_66->id == var_32) goto LAB_0004106c;
          }
        }
        var_20 = var_20 + 1;
        pcVar35 = *(type_21 **)(var_9 + 0x733d0);
      } while (var_8 != var_20);
      var_66 = (type_18 *)var_10[0x30];
LAB_0003f984:
      if (var_66 != (type_18 *)0x0) {
        if (var_66->gsslogmsg != (char *)0x0) {
          (**(type_21 **)(var_9 + 0x73038))(ssh->frontend);
        }
        var_11 = var_16(0x32);
        var_42 = ssh->username;
        var_10[0x2e] = (int)var_11;
        var_5(var_11,var_42);
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x50bc));
        (**(type_21 **)(var_9 + 0x73038))(ssh->frontend,*(int *)(var_9 + 0x72fb4) + 0x524c);
        (**(type_21 **)(var_10[0x30] + 8))(var_10[0x30],var_10 + 0x32);
                    /* WARNING: Subroutine does not return */
        iStack_88 = 1;
        var_17((type_2 *)var_10[0x2e],&iStack_88,4);
      }
    }
    var_8 = *(int *)(var_9 + 0x72fb4) + 0x35c0;
    (**(type_21 **)(var_9 + 0x73938))
              (*(int *)(var_9 + 0x72fb4) + 0x5240,var_8,0x2799,
               *(int *)(var_9 + 0x72fb4) + 0x7e08);
    var_18((type_14)&ssh->frontend,(char *)(var_8 + 0x51dc),0x12);
LAB_00041ae8:
    if (var_10[0x17] != 0) {
      puVar17 = (type_11 *)(**(type_21 **)(var_9 + 0x73530))(ssh->frontend);
      var_10[0xf] = (int)puVar17;
      *puVar17 = 0;
      uVar18 = (**(type_21 **)(var_9 + 0x7301c))(*(int *)(var_9 + 0x72fb4) + 0x5190);
      var_8 = var_10[0x19];
      var_14 = (type_19 *)var_10[0xf];
      puVar17[1] = uVar18;
      uVar18 = (**(type_21 **)(var_9 + 0x73010))(*(int *)(var_9 + 0x72fb4) + 0x51a4,var_8);
      (**(type_21 **)(var_9 + 0x73534))(var_14,uVar18,0);
      var_8 = (**(type_21 **)(var_9 + 0x73538))(var_10[0xf],0,0);
LAB_00040240:
      if (var_8 < 0) {
        ssh->send_ok = 1;
        *var_10 = 0x2703;
      }
      else {
        var_20 = var_10[0xf];
        if (var_8 != 0) {
                    /* WARNING: Subroutine does not return */
          var_24(*(char **)(**(int **)(var_20 + 0x18) + 8));
        }
FUN_00040b04:
        pcVar35 = *(type_21 **)(var_9 + 0x7353c);
LAB_00040b08:
        (*pcVar35)(var_20);
        var_8 = 0xd;
        var_42 = (char *)0x0;
        var_46 = (char *)(*(int *)(var_9 + 0x72fb4) + 0x51c4);
LAB_00040b30:
        var_65(ssh,var_42,var_46,var_8,1);
        *var_10 = 0;
      }
      goto LAB_0003fd3c;
    }
    unaff_s5 = (type_2 *)apPStack_90;
    var_8 = (**(type_21 **)(var_9 + 0x73134))(ssh->conf,0x20);
    var_10[0x2f] = var_8;
    var_20 = (**(type_21 **)(var_9 + 0x7354c))(var_8,0,unaff_s5);
    if (var_20 != *(int *)(var_9 + 0x73550)) {
LAB_000402f8:
      if (var_20 != 0) {
        var_11 = var_16(0x32);
        var_42 = ssh->username;
        var_10[0x2e] = (int)var_11;
        var_5(var_11,var_42);
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x4c34));
        var_5((type_2 *)var_10[0x2e],(char *)(*(int *)(var_9 + 0x72fb4) + 0x5098));
        apPStack_90[0] = (type_2 *)var_19(1,apPStack_90[0]._1_3_);
                    /* WARNING: Subroutine does not return */
        var_17((type_2 *)var_10[0x2e],unaff_s5,1);
      }
    }
  }
  var_14 = (type_19 *)&ssh->frontend;
  var_18((type_14)var_14,(char *)(*(int *)(var_9 + 0x72fb4) + 0x51f0),0x1c);
  unaff_s5 = apPStack_90[0];
  var_8 = (**(type_21 **)(var_9 + 0x73a54))(apPStack_90[0]);
  var_18((type_14)var_14,(char *)unaff_s5,var_8);
  var_18((type_14)var_14,(char *)(*(int *)(var_9 + 0x72fb4) + -0x116c),3);
  var_8 = var_10[3];
  goto LAB_0003fb74;
LAB_0003fb80:
  *var_10 = 0x25a0;
  goto LAB_0003fd3c;
}


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

void MASKED(int *param_1,undefined *param_2,code *****param_3)

{
  char cVar1;
  undefined4 uVar2;
  undefined4 *puVar3;
  code ****ppppcVar4;
  int *piVar5;
  int iVar6;
  undefined1 *puVar7;
  uint uVar8;
  char *pcVar9;
  code *****pppppcVar10;
  int iVar11;
  undefined1 *puVar12;
  int iVar13;
  undefined4 uVar14;
  int iVar15;
  undefined4 uVar16;
  code *****pppppcVar17;
  int iVar18;
  int iVar19;
  int *piVar20;
  int *piVar21;
  bool bVar22;
  code *****pppppcVar23;
  code *****pppppcVar24;
  code *****unaff_s5;
  char *pcVar25;
  undefined *puVar26;
  code *pcVar27;
  undefined4 uStack_ac;
  undefined4 uStack_a8;
  undefined1 auStack_a4 [4];
  int iStack_a0;
  int iStack_9c;
  code ***pppcStack_98;
  code ****ppppcStack_94;
  code ****ppppcStack_90;
  undefined4 uStack_8c;
  code ***pppcStack_88;
  int iStack_84;
  int iStack_80;
  int *piStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  code ****ppppcStack_70;
  code ****ppppcStack_6c;
  undefined4 local_28;
  int local_24;
  
  pppppcVar23 = (code *****)PTR___stack_chk_guard_000b2f04;
  iVar19 = *param_1;
  local_24 = *(int *)PTR___stack_chk_guard_000b2f04;
  pppppcVar24 = param_3;
  FUN_00036ce8(iVar19,PTR_s_acket_from_server___s_000b23a8 + 0x4ba4,param_2);
  iVar11 = iVar19;
  if (*(int *)(iVar19 + 0x198) == 1) {
    iVar15 = 1;
    pppppcVar24 = (code *****)param_1[2];
    FUN_000494d4(iVar19,0x1d);
  }
  else {
    param_1 = (int *)FUN_0003c284(param_1 + 2,param_1 + 0xd,
                                  PTR_s_acket_from_server___s_000b23a8 + 0x4bc8);
    unaff_s5 = (code *****)host_strduptrim(param_2);
    param_2 = PTR_LAB_000b2894 + -0x4dc4;
    FUN_0003b23c(param_1,unaff_s5);
    safefree(unaff_s5);
    FUN_0003b1cc(param_1,param_3);
    FUN_0003b23c(param_1,PTR_s_acket_from_server___s_000b23a8 + 0x4bd8);
    iVar15 = 4;
    local_28 = 0;
    FUN_0003aef4(param_1,&local_28);
    FUN_000463f8(iVar19,param_1);
  }
  if ((code ****)local_24 == *pppppcVar23) {
    return;
  }
  puVar26 = PTR___stack_chk_fail_000b2ed8;
  (*(code *)PTR___stack_chk_fail_000b2ed8)();
  piVar21 = *(int **)(puVar26 + 0x73b10);
  piVar20 = *(int **)(iVar11 + 0x1d0);
  puStack_74 = (undefined *)pppppcVar23;
  iStack_84 = *piVar21;
  iStack_80 = iVar19;
  piStack_7c = param_1;
  puStack_78 = param_2;
  ppppcStack_70 = (code ****)param_3;
  ppppcStack_6c = (code ****)unaff_s5;
  if (piVar20 != (int *)0x0) {
    iVar19 = *piVar20;
    if (iVar19 == 0x27b6) {
      if (pppppcVar24 == (code *****)0x0) goto LAB_0003fae0;
      if (pppppcVar24[2] != (code ****)0x3c) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5270);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);
      piVar20[0x35] = (int)ppppcStack_94;
      piVar20[0x34] = (int)pppcStack_98;
      if (((((code ****)pppcStack_98 != (code ****)(piVar20[0x32] + 2U)) ||
           (*(code *)ppppcStack_94 != (code)0x6)) ||
          (piVar20[0x32] != (int)(char)*(code *)((int)ppppcStack_94 + 1))) ||
         (iVar19 = (**(code **)(puVar26 + 0x73af8))((code *)((int)ppppcStack_94 + 2),piVar20[0x33]),
         iVar19 != 0)) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5298);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      pppppcVar23 = (code *****)(piVar20 + 0x38);
      iVar19 = (**(code **)(piVar20[0x30] + 0xc))
                         (piVar20[0x30],*(undefined4 *)(iVar11 + 0x6a4),pppppcVar23);
      piVar20[0x39] = iVar19;
      if (iVar19 != 0) {
        if (iVar19 == 3) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52cc);
          iVar19 = piVar20[3];
          goto LAB_0003fb74;
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x52fc);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      iVar19 = (**(code **)(piVar20[0x30] + 0x1c))(piVar20[0x30],piVar20 + 0x31);
      piVar20[0x39] = iVar19;
      if (iVar19 != 0) goto LAB_00042b98;
      piVar20[0x34] = 0;
      piVar20[0x35] = 0;
      piVar20[0x36] = 0;
      piVar20[0x37] = 0;
      pppppcVar23 = (code *****)piVar20[0x30];
LAB_0004138c:
      iVar19 = piVar20[0x38];
      unaff_s5 = (code *****)pppppcVar23[5];
      uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x28);
      uVar8 = (*(code *)unaff_s5)(pppppcVar23,piVar20 + 0x31,iVar19,uVar2,piVar20 + 0x34,
                                  piVar20 + 0x36);
      piVar20[0x39] = uVar8;
      if (uVar8 < 2) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5374);
        if (piVar20[0x36] != 0) {
          pppppcVar23 = (code *****)FUN_0003b04c(0x3d);
          piVar20[0x2e] = (int)pppppcVar23;
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(pppppcVar23,&pppcStack_88,4);
          iVar6 = piVar20[0x36];
          iVar15 = piVar20[0x37];
          iVar19 = piVar20[0x2e];
          pppppcVar23[6] = *pppppcVar23;
          FUN_0003b124(iVar19,iVar15,iVar6);
          FUN_000463f8(iVar11,piVar20[0x2e]);
          (**(code **)(piVar20[0x30] + 0x18))(piVar20[0x30],piVar20 + 0x36);
        }
        iVar19 = piVar20[0x39];
        if (iVar19 == 1) {
LAB_00042310:
          *piVar20 = 0x2807;
          goto LAB_0003fd3c;
        }
      }
      else {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5348);
        iVar19 = (**(code **)(piVar20[0x30] + 0x2c))(piVar20[0x30],piVar20[0x31],piVar20 + 0x32);
        if (iVar19 == 0) {
          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),piVar20[0x33]);
          safefree(piVar20[0x33]);
        }
        iVar19 = piVar20[0x39];
      }
LAB_00041414:
      if (iVar19 == 0) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53c4);
        iVar15 = *(int *)(puVar26 + 0x734a0);
        piVar5 = (int *)FUN_0003b04c(0);
        iVar6 = *piVar5;
        piVar20[0x2e] = (int)piVar5;
        unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
        pppcStack_88 = (code ***)0x0;
        FUN_0003aef4(piVar5,&pppcStack_88,4);
        uVar2 = *(undefined4 *)(iVar11 + 0xe4);
        iVar19 = piVar20[0x2e];
        iVar18 = *(int *)(puVar26 + 0x734a0);
        piVar5[6] = *piVar5;
        FUN_0003b124(iVar19,iVar11 + 0xa4,uVar2);
        ppppcStack_90 = (code ****)CONCAT13(0x32,ppppcStack_90._1_3_);
        FUN_0003aef4(piVar20[0x2e],&ppppcStack_90,1);
        FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(iVar11 + 0x250));
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);
        iVar19 = *(int *)piVar20[0x2e];
        pcVar27 = *(code **)(piVar20[0x30] + 0x24);
        piVar20[0x33] = ((int *)piVar20[0x2e])[4] + iVar6;
        piVar20[0x32] = iVar19 - iVar6;
        (*pcVar27)(piVar20[0x30],piVar20[0x31],piVar20 + 0x32,&ppppcStack_90);
        puVar3 = (undefined4 *)(*(code *)(iVar15 + -0x4fb4))(0x42);
        piVar20[0x2e] = (int)puVar3;
        pppcStack_88 = (code ***)0x0;
        FUN_0003aef4(puVar3,&pppcStack_88,4);
        iVar19 = piVar20[0x2e];
        puVar3[6] = *puVar3;
        (*(code *)(iVar18 + -0x4edc))(iVar19,uStack_8c,ppppcStack_90);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        (**(code **)(piVar20[0x30] + 0x28))(piVar20[0x30],&ppppcStack_90);
        iVar19 = piVar20[0x30];
        piVar20[3] = 0;
        goto LAB_00040d20;
      }
LAB_00040d18:
      iVar19 = piVar20[0x30];
LAB_00040d20:
      pppppcVar23 = (code *****)(piVar20 + 0x38);
      (**(code **)(iVar19 + 0x10))(iVar19,piVar20 + 0x38);
      (**(code **)(piVar20[0x30] + 0x20))(piVar20[0x30],piVar20 + 0x31);
      iVar19 = piVar20[3];
      goto LAB_0003fb74;
    }
    if (iVar19 < 0x27b7) {
      if (iVar19 == 0x2561) {
        if (pppppcVar24 != (code *****)0x0) {
          *piVar20 = 0x2561;
          goto LAB_0003fd3c;
        }
        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
        *(undefined4 *)(iVar11 + 0x100) = 0;
        goto LAB_00040ca4;
      }
      if (0x2561 < iVar19) {
        if (iVar19 == 0x2696) {
          iVar19 = *(int *)(puVar26 + 0x72fb4);
          if (pppppcVar24 != (code *****)0x0) {
LAB_00040040:
            uVar2 = dupprintf(iVar19 + 0x4d34);
            goto LAB_00040050;
          }
          if (0 < iVar15) goto LAB_00041768;
          ppppcStack_90 = *(code *****)(iVar11 + 0x254);
          piVar20[0x29] = *(int *)(iVar11 + 600);
        }
        else {
          if (0x2696 < iVar19) {
            if (iVar19 == 0x26df) {
              if (pppppcVar24 == (code *****)0x0) goto LAB_00041ab0;
              if (pppppcVar24[2] == (code ****)0x3c) {
                (**(code **)(puVar26 + 0x73038))
                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x516c);
                if ((**(uint **)(puVar26 + 0x730a8) & 1) == 0) goto LAB_00041ae8;
                iVar19 = iVar11 + 0x110;
                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);
                unaff_s5 = (code *****)piVar20[0x19];
                uVar2 = (**(code **)(puVar26 + 0x73a54))(unaff_s5);
                FUN_0003a5ac(iVar19,unaff_s5,uVar2);
                FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x518c,3);
                goto LAB_00041ae8;
              }
              piVar20[3] = 1;
              piVar20[1] = 2;
              goto LAB_0003f824;
            }
            if (iVar19 != 0x2703) goto LAB_0003fd38;
            if (pppppcVar24 != (code *****)0x0) {
              *piVar20 = 0x2703;
              goto LAB_0003fd3c;
            }
            iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
            *(undefined4 *)(iVar11 + 0x100) = 0;
            goto LAB_00040240;
          }
          if (iVar19 == 0x25a0) {
            if (pppppcVar24 != (code *****)0x0) goto LAB_0003f828;
            *piVar20 = 0x25a0;
            goto LAB_0003fd3c;
          }
          if (iVar19 != 0x2650) goto LAB_0003fd38;
          if (pppppcVar24 == (code *****)0x0) goto LAB_00040908;
          if (pppppcVar24[2] != (code ****)0x3c) {
            piVar20[3] = 1;
            goto LAB_0003fb5c;
          }
          if ((**(uint **)(puVar26 + 0x730a8) & 1) != 0) {
            iVar19 = iVar11 + 0x110;
            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x50e4,0x20);
            FUN_0003a5ac(iVar19,piVar20[0x24],piVar20[0x27]);
            FUN_0003a5ac(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x5108,0xe);
          }
          unaff_s5 = &ppppcStack_90;
          iVar19 = FUN_0003b04c(0x32);
          uVar2 = *(undefined4 *)(iVar11 + 0x250);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,uVar2);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
          ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);
          FUN_0003aef4(piVar20[0x2e],unaff_s5,1);
          puVar3 = (undefined4 *)piVar20[0x2e];
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(puVar3,&pppcStack_88,4);
          iVar6 = piVar20[0x26];
          iVar15 = piVar20[0x23];
          iVar19 = piVar20[0x2e];
          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4edc);
          puVar3[6] = *puVar3;
          FUN_0003b124(iVar19,iVar15,iVar6);
          puVar3 = (undefined4 *)piVar20[0x2e];
          pppcStack_88 = (code ***)0x0;
          FUN_0003aef4(puVar3,&pppcStack_88,4);
          iVar15 = piVar20[0x22];
          iVar19 = piVar20[0x2e];
          iVar6 = piVar20[0x25];
          puVar3[6] = *puVar3;
          FUN_0003b124(iVar19,iVar15,iVar6);
          uVar8 = *(uint *)(iVar11 + 0x50);
          iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);
          piVar20[0x28] = iVar19;
          if ((uVar8 & 0x80) == 0) {
            iVar19 = iVar19 + 4;
          }
          else {
            piVar20[0x28] = iVar19 + -4;
          }
          pcVar27 = *(code **)(puVar26 + 0x73014);
          iVar19 = piVar20[0x25] + 5 + iVar19;
          piVar20[0x2a] = iVar19 + 4;
          puVar7 = (undefined1 *)(*pcVar27)(iVar19 + 8,1);
          piVar20[0x2c] = (int)puVar7;
          *puVar7 = *(undefined1 *)(piVar20 + 0x2a);
          pcVar27 = *(code **)(puVar26 + 0x73b14);
          *(char *)(piVar20[0x2c] + 1) = (char)*(undefined2 *)(piVar20 + 0x2a);
          *(char *)(piVar20[0x2c] + 2) = (char)((uint)piVar20[0x2a] >> 8);
          *(char *)(piVar20[0x2c] + 3) = (char)piVar20[0x2a];
          piVar20[0x2b] = piVar20[0x2c] + 5;
          *(undefined1 *)(piVar20[0x2c] + 4) = 0xd;
          *(undefined1 *)piVar20[0x2b] = *(undefined1 *)(piVar20 + 0x25);
          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x25);
          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x25] >> 8);
          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x25];
          iVar19 = piVar20[0x2b];
          piVar20[0x2b] = iVar19 + 4;
          (*pcVar27)(iVar19 + 4,piVar20[0x22],piVar20[0x25]);
          iVar19 = piVar20[0x2b];
          piVar20[0x2b] = iVar19 + piVar20[0x25];
          *(undefined1 *)(iVar19 + piVar20[0x25]) = *(undefined1 *)(piVar20 + 0x28);
          *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(piVar20 + 0x28);
          *(char *)(piVar20[0x2b] + 2) = (char)((uint)piVar20[0x28] >> 8);
          *(char *)(piVar20[0x2b] + 3) = (char)piVar20[0x28];
          iVar15 = piVar20[0x2b];
          uVar8 = *(uint *)(iVar11 + 0x50);
          iVar19 = iVar15 + 4;
          piVar20[0x2b] = iVar19;
          if ((uVar8 & 0x80) == 0) {
            *(undefined1 *)(iVar15 + 4) = *(undefined1 *)(iVar11 + 0xe4);
            *(char *)(piVar20[0x2b] + 1) = (char)*(undefined2 *)(iVar11 + 0xe4);
            *(char *)(piVar20[0x2b] + 2) = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);
            *(char *)(piVar20[0x2b] + 3) = (char)*(undefined4 *)(iVar11 + 0xe4);
            iVar19 = piVar20[0x2b] + 4;
            piVar20[0x2b] = iVar19;
          }
          (**(code **)(puVar26 + 0x73b14))(iVar19,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));
          iVar6 = *(int *)piVar20[0x2e];
          iVar15 = ((int *)piVar20[0x2e])[4];
          pcVar27 = *(code **)(puVar26 + 0x73b14);
          iVar19 = piVar20[0x2b] + *(int *)(iVar11 + 0xe4);
          piVar20[0x2b] = iVar19;
          (*pcVar27)(iVar19,iVar15 + 5,iVar6 + -5);
          pcVar27 = *(code **)(puVar26 + 0x73030);
          puVar7 = (undefined1 *)(piVar20[0x2b] + *(int *)piVar20[0x2e] + -5);
          piVar20[0x2b] = (int)puVar7;
          *puVar7 = 0;
          *(undefined1 *)(piVar20[0x2b] + 1) = 0;
          *(undefined1 *)(piVar20[0x2b] + 2) = 0;
          *(undefined1 *)(piVar20[0x2b] + 3) = 0;
          iVar19 = (*pcVar27)(piVar20[0x2c],piVar20[0x2a] + 4,unaff_s5,piVar20 + 0x29,
                              *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);
          *(int *)(iVar11 + 0x6d0) = iVar19;
          if (iVar19 != 0) {
LAB_00041768:
            *piVar20 = 0x2696;
            goto LAB_0003fd3c;
          }
        }
        piVar20[0x2d] = (int)ppppcStack_90;
        safefree(piVar20[0x2c]);
        iVar19 = piVar20[0x2d];
        if (iVar19 == 0) {
LAB_0003fb5c:
          if (piVar20[0x1f] == 0) {
            iVar15 = piVar20[0x20];
            iVar19 = piVar20[3];
            piVar20[0x20] = iVar15 + 1;
            if (iVar15 + 1 < piVar20[0x21]) goto LAB_0003fb74;
            piVar20[9] = 1;
            goto LAB_0003fb74;
          }
          iVar19 = piVar20[3];
          piVar20[9] = 1;
          piVar20[8] = 1;
          goto LAB_0003fb74;
        }
        if ((piVar20[0x29] < 9) || (*(char *)(iVar19 + 4) != '\x0e')) {
          iVar15 = *(int *)(puVar26 + 0x72fb4);
        }
        else {
          iVar15 = *(int *)(puVar26 + 0x72fb4);
          if (*(uint *)(iVar19 + 5) <= piVar20[0x29] - 9U) {
            (**(code **)(puVar26 + 0x73038))
                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5118);
            FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],piVar20[0x22],piVar20[0x25],
                         piVar20[0x2d] + 9,*(undefined4 *)(piVar20[0x2d] + 5));
            FUN_000463f8(iVar11,piVar20[0x2e]);
            piVar20[1] = 1;
            goto LAB_0003fb5c;
          }
        }
        uVar2 = (**(code **)(puVar26 + 0x73010))(iVar15 + 0x5134);
        goto LAB_00040050;
      }
      if (iVar19 == 0x246f) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_00042034;
        if (pppppcVar24[2] != (code ****)0x6) goto LAB_000400a0;
        piVar20[2] = 1;
        goto LAB_0003fe10;
      }
      if (iVar19 < 0x2470) {
        iVar15 = *(int *)(puVar26 + 0x73504);
        if (iVar19 != 0) goto LAB_0003fd38;
        goto LAB_0003fd9c;
      }
      if (iVar19 == 0x247a) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_000400f8;
        if (pppppcVar24[2] != (code ****)0x6) {
          uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x4c44);
          goto LAB_00040050;
        }
        goto LAB_0003fe04;
      }
      if (iVar19 != 0x24d9) goto LAB_0003fd38;
      if (pppppcVar24 != (code *****)0x0) {
        iVar19 = *(int *)(puVar26 + 0x72fb4);
        goto LAB_00040040;
      }
      if (0 < iVar15) goto LAB_00040ffc;
      ppppcStack_90 = *(code *****)(iVar11 + 0x254);
      piVar20[0x1e] = *(int *)(iVar11 + 600);
      goto LAB_0003fbf0;
    }
    if (iVar19 == 0x2917) {
      if (pppppcVar24 == (code *****)0x0) goto LAB_00040220;
      if (pppppcVar24[2] != (code ****)0x3c) {
LAB_00040ef0:
        iVar19 = piVar20[0x12];
        pcVar27 = *(code **)(puVar26 + 0x73a54);
        piVar20[3] = 1;
        uVar2 = (*pcVar27)(iVar19);
        smemclr(iVar19,uVar2);
        safefree(piVar20[0x12]);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4c00;
    }
    else {
      if (iVar19 < 0x2918) {
        if (iVar19 == 0x28a4) {
          if (pppppcVar24 != (code *****)0x0) {
            *piVar20 = 0x28a4;
            goto LAB_0003fd3c;
          }
          iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
          *(undefined4 *)(iVar11 + 0x100) = 0;
        }
        else {
          if (iVar19 < 0x28a5) {
            if (iVar19 == 0x2807) {
              if (pppppcVar24 == (code *****)0x0) goto LAB_00042310;
              if (pppppcVar24[2] == (code ****)0x3d) {
                FUN_00037704(pppppcVar24,&ppppcStack_94,&pppcStack_98);
                iVar19 = piVar20[0x39];
                piVar20[0x35] = (int)ppppcStack_94;
                piVar20[0x34] = (int)pppcStack_98;
                if (iVar19 == 1) {
                  pppppcVar23 = (code *****)piVar20[0x30];
                  goto LAB_0004138c;
                }
                goto LAB_00041414;
              }
              (**(code **)(puVar26 + 0x73038))
                        (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5398);
              piVar20[0x39] = 4;
              goto LAB_00040d18;
            }
            if (iVar19 != 0x284b) goto LAB_0003fd38;
            if (pppppcVar24 == (code *****)0x0) goto LAB_0004072c;
            iVar19 = *(int *)(puVar26 + 0x7336c);
            if (pppppcVar24[2] != (code ****)0x3c) {
              piVar20[3] = 1;
              piVar20[1] = 7;
              piVar20[0xc] = 1;
              goto LAB_0003f824;
            }
          }
          else {
            if (iVar19 != 0x28ca) {
              if (iVar19 != 0x28e8) goto LAB_0003fd38;
              if (pppppcVar24 != (code *****)0x0) {
                *piVar20 = 0x28e8;
                goto LAB_0003fd3c;
              }
              iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
              *(undefined4 *)(iVar11 + 0x100) = 0;
              goto LAB_00040118;
            }
            if (pppppcVar24 == (code *****)0x0) goto LAB_00041954;
            if (pppppcVar24[2] != (code ****)0x3c) {
              piVar20[3] = 1;
              goto LAB_0003f824;
            }
            iVar19 = *(int *)(puVar26 + 0x7336c);
          }
          pcVar27 = (code *)(iVar19 + 0x7704);
          FUN_00037704(pppppcVar24,&uStack_ac,&iStack_a0);
          (*pcVar27)(pppppcVar24,&uStack_a8,&iStack_9c);
          (*pcVar27)(pppppcVar24,auStack_a4,&pppcStack_98);
          puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
          piVar20[0xf] = (int)puVar3;
          *puVar3 = 1;
          iVar19 = FUN_00036be8(pppppcVar24);
          piVar20[0x10] = iVar19;
          if (0 < iVar19) {
            iVar6 = *(int *)(puVar26 + 0x72fa4);
            iVar15 = 0;
            unaff_s5 = &ppppcStack_90;
            iVar19 = *(int *)(puVar26 + 0x72fb4);
            do {
              (*pcVar27)(pppppcVar24,&ppppcStack_94,unaff_s5);
              ppppcVar4 = pppppcVar24[6];
              if ((int)*pppppcVar24 - (int)ppppcVar4 < 1) {
                bVar22 = false;
              }
              else {
                cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4);
                pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1);
                bVar22 = cVar1 != '\0';
              }
              if ((code *****)ppppcStack_90 == (code *****)0x0) {
                ppppcStack_90 = (code ****)&DAT_00000020;
                ppppcStack_94 = (code ****)(iVar6 + 0x2280);
              }
              iVar15 = iVar15 + 1;
              iVar18 = piVar20[0xf];
              uVar2 = (**(code **)(puVar26 + 0x73010))(iVar19 + 0x5428,ppppcStack_90,ppppcStack_94);
              (**(code **)(puVar26 + 0x73534))(iVar18,uVar2,bVar22);
            } while (iVar15 < piVar20[0x10]);
          }
          pppppcVar23 = (code *****)piVar20[0xf];
          if (iStack_a0 == 0) {
            ppppcVar4 = (code ****)
                        (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5430);
            iVar19 = piVar20[0xf];
            pppppcVar23[1] = ppppcVar4;
            *(undefined4 *)(iVar19 + 8) = 0;
          }
          else {
            ppppcVar4 = (code ****)
                        (**(code **)(puVar26 + 0x73010))
                                  (*(int *)(puVar26 + 0x72fb4) + 0x541c,iStack_a0,uStack_ac);
            iVar19 = piVar20[0xf];
            pppppcVar23[1] = ppppcVar4;
            *(undefined4 *)(iVar19 + 8) = 1;
          }
          if (piVar20[0x10] == 0 && iStack_a0 == 0) {
            iVar15 = *(int *)(puVar26 + 0x72fb4);
            if (iStack_9c != 0) {
LAB_00042638:
              iVar15 = iVar15 + 0x71dc;
              goto LAB_000422b4;
            }
            *(undefined4 *)(iVar19 + 0x10) = 0;
          }
          else {
            iVar15 = *(int *)(puVar26 + 0x72fb4);
            if (iStack_9c != 0) goto LAB_00042638;
            iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x4f64;
LAB_000422b4:
            uVar2 = (**(code **)(puVar26 + 0x73010))
                              (*(int *)(puVar26 + 0x72fb4) + 0x544c,iVar15,iStack_9c,uStack_a8);
            *(undefined4 *)(iVar19 + 0xc) = uVar2;
            iVar19 = piVar20[0xf];
            *(undefined4 *)(iVar19 + 0x10) = 1;
          }
          iVar19 = (**(code **)(puVar26 + 0x73538))(iVar19,0,0);
        }
        if (iVar19 < 0) {
          *(undefined4 *)(iVar11 + 0x100) = 1;
          *piVar20 = 0x28a4;
          goto LAB_0003fd3c;
        }
        if (iVar19 == 0) {
          iVar15 = piVar20[0xf];
          goto LAB_00040b04;
        }
        iVar19 = FUN_0003b04c(0x3d);
        piVar20[0x2e] = iVar19;
        FUN_0003b1cc(iVar19,piVar20[0x10]);
        if (0 < piVar20[0x10]) {
          iVar19 = 0;
          pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x4dc4);
          do {
            iVar15 = iVar19 * 4;
            iVar19 = iVar19 + 1;
            FUN_0003b23c(piVar20[0x2e],
                         *(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + iVar15) + 8));
          } while (iVar19 < piVar20[0x10]);
        }
        FUN_0004c528(iVar11,piVar20[0x2e]);
        (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);
LAB_00041954:
        *piVar20 = 0x28ca;
        goto LAB_0003fd3c;
      }
      if (iVar19 == 0x2a03) {
        if (pppppcVar24 == (code *****)0x0) goto LAB_00040660;
        ppppcVar4 = pppppcVar24[2];
        if (1 < (int)ppppcVar4 - 0x5bU) {
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5618;
          goto LAB_00040078;
        }
        iVar19 = FUN_00036be8(pppppcVar24);
        iVar15 = *(int *)(iVar11 + 0x128);
        if (iVar19 != *(int *)(iVar15 + 8)) {
          uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x5660);
          goto LAB_00040050;
        }
        if (pppppcVar24[2] == (code ****)0x5c) {
          uVar2 = FUN_00038814(pppppcVar24);
          uVar14 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x56a4,uVar2);
          FUN_0003822c(iVar11,uVar14);
          goto LAB_00041054;
        }
        uVar2 = FUN_00036be8(pppppcVar24);
        iVar6 = *(int *)(iVar11 + 0x128);
        *(undefined4 *)(iVar15 + 4) = uVar2;
        *(undefined4 *)(iVar6 + 0x10) = 0;
        *(undefined4 *)(iVar6 + 0xc) = 0;
        uVar2 = FUN_00036be8();
        iVar19 = *(int *)(iVar11 + 0x128);
        *(undefined4 *)(iVar6 + 0x2c) = uVar2;
        uVar2 = FUN_00036be8();
        uVar14 = *(undefined4 *)(iVar11 + 0x110);
        pcVar27 = *(code **)(puVar26 + 0x7348c);
        *(undefined4 *)(iVar19 + 0x30) = uVar2;
        (*pcVar27)(uVar14);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x56cc);
        goto LAB_0003ff14;
      }
      if (0x2a03 < iVar19) {
        if (iVar19 != 0x2a90) {
          if (iVar19 != 0x2abd) goto LAB_0003fd38;
          if (pppppcVar24 != (code *****)0x0) {
            ppppcVar4 = pppppcVar24[2];
            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5808;
            goto LAB_00040078;
          }
          if (*(int *)(iVar11 + 0x128) == 0) goto LAB_0003f7c4;
          FUN_00048f30();
          goto LAB_0003f7c4;
        }
        if (pppppcVar24 == (code *****)0x0) goto LAB_00041870;
        ppppcVar4 = pppppcVar24[2];
        if (ppppcVar4 == (code ****)0x63) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x57f0);
          goto LAB_0003ffec;
        }
        if (ppppcVar4 != (code ****)0x64) {
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x575c;
          goto LAB_00040078;
        }
        if ((*(int *)(iVar11 + 0x174) == 0) &&
           (pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x15),
           *pcVar9 != '\0')) {
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x579c);
          *(undefined4 *)(iVar11 + 0x174) = 1;
          goto LAB_0004261c;
        }
        uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x57c8);
        goto LAB_00040050;
      }
      if (iVar19 == 0x2956) {
        if (pppppcVar24 != (code *****)0x0) {
          *piVar20 = 0x2956;
          goto LAB_0003fd3c;
        }
        iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf]);
        *(undefined4 *)(iVar11 + 0x100) = 0;
        goto LAB_0003f648;
      }
      if (iVar19 != 0x2999) goto LAB_0003fd38;
      if (pppppcVar24 == (code *****)0x0) goto LAB_0003f784;
      if (pppppcVar24[2] != (code ****)0x3c) goto LAB_00040ef0;
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4be0;
    }
    (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19);
    uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
    FUN_0003a5ac(iVar11 + 0x110,iVar19,uVar2);
    FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4d08,2);
    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);
    puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));
    piVar20[0xf] = (int)puVar3;
    *puVar3 = 1;
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a4);
    puVar3[1] = uVar2;
    pppppcVar17 = (code *****)ppppcStack_94;
    if ((code *****)ppppcStack_94 == (code *****)0x0) {
      pppppcVar17 = (code *****)(*(int *)(puVar26 + 0x72fb4) + 0x4f64);
    }
    pppppcVar23 = (code *****)piVar20[0xf];
    ppppcVar4 = (code ****)dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5428,ppppcStack_90,pppppcVar17)
    ;
    iVar15 = piVar20[0xf];
    pppppcVar23[3] = ppppcVar4;
    iVar19 = *(int *)(puVar26 + 0x72fb4);
    *(undefined4 *)(iVar15 + 0x10) = 1;
    uVar2 = dupstr(iVar19 + 0x54b8);
    add_prompt(iVar15,uVar2,0);
    iVar19 = piVar20[0xf];
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54f4);
    add_prompt(iVar19,uVar2,0);
    iVar19 = piVar20[0xf];
    uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x550c);
    add_prompt(iVar19,uVar2,0);
    while( true ) {
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_0003f648:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x2956;
        goto LAB_0003fd3c;
      }
      if (iVar19 == 0) {
        (**(code **)(puVar26 + 0x7353c))();
        iVar19 = piVar20[0x12];
        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);
        iVar15 = piVar20[0x12];
        pcVar27 = *(code **)(puVar26 + 0x72fdc);
        goto LAB_00040b08;
      }
      piVar5 = *(int **)(piVar20[0xf] + 0x18);
      if (**(char **)(*piVar5 + 8) != '\0') {
        iVar19 = piVar20[0x12];
        uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
        (**(code **)(puVar26 + 0x7306c))(iVar19,uVar2);
        (**(code **)(puVar26 + 0x72fdc))(piVar20[0x12]);
        iVar19 = (**(code **)(puVar26 + 0x7301c))
                           (*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));
        piVar20[0x12] = iVar19;
        piVar5 = *(int **)(piVar20[0xf] + 0x18);
      }
      iVar19 = (**(code **)(puVar26 + 0x73b4c))
                         (*(undefined4 *)(piVar5[1] + 8),*(undefined4 *)(piVar5[2] + 8));
      if (iVar19 == 0) break;
      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5524,0x18);
    }
    iVar19 = FUN_0003b04c(0x32);
    uVar2 = *(undefined4 *)(iVar11 + 0x250);
    piVar20[0x2e] = iVar19;
    FUN_0003b23c(iVar19,uVar2);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);
    pppcStack_98 = (code ***)CONCAT13(1,pppcStack_98._1_3_);
    FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
    FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);
    FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*(int *)(*(int *)(piVar20[0xf] + 0x18) + 4) + 8));
    free_prompts(piVar20[0xf]);
    FUN_0004c528(iVar11,piVar20[0x2e]);
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5540);
LAB_0003f784:
    *piVar20 = 0x2999;
    goto LAB_0003fd3c;
  }
  piVar20 = (int *)safemalloc(1,0xe8);
  *(int **)(iVar11 + 0x1d0) = piVar20;
  *piVar20 = 0;
  iVar15 = *(int *)(puVar26 + 0x73504);
  pppppcVar24 = param_3;
LAB_0003fd9c:
  iVar19 = *(int *)(iVar11 + 0xec);
  iVar15 = iVar15 + 0xae0;
  *(int *)(iVar11 + 0x288) = iVar15;
  *(int *)(iVar11 + 0x338) = iVar15;
  *(int *)(iVar11 + 0x33c) = iVar15;
  *(int *)(iVar11 + 0x340) = iVar15;
  *(int *)(iVar11 + 0x344) = iVar15;
  *(int *)(iVar11 + 0x360) = iVar15;
  *(int *)(iVar11 + 0x364) = iVar15;
  *(int *)(iVar11 + 0x3b0) = iVar15;
  *(int *)(iVar11 + 0x3b4) = iVar15;
  *(int *)(iVar11 + 0x3b8) = iVar15;
  *(int *)(iVar11 + 0x3d8) = iVar15;
  *(int *)(iVar11 + 0x3dc) = iVar15;
  *(int *)(iVar11 + 0x3e0) = iVar15;
  *(int *)(iVar11 + 0x3e4) = iVar15;
  *(int *)(iVar11 + 1000) = iVar15;
  *(int *)(iVar11 + 0x3ec) = iVar15;
  *(int *)(iVar11 + 0x3f0) = iVar15;
  *(int *)(iVar11 + 0x3f4) = iVar15;
  piVar20[2] = 0;
  piVar20[0xe] = 0;
  piVar20[0xd] = 0;
  piVar20[0x1c] = 0;
  piVar20[0xb] = 0;
  if (iVar19 == 0) {
    iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x23);
    if (iVar19 == 0) {
      iVar19 = FUN_0003b04c(5);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c24);
      FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_00042034:
      *piVar20 = 0x246f;
      goto LAB_0003fd3c;
    }
LAB_000400a0:
    if (piVar20[2] == 0) {
      iVar19 = FUN_0003b04c(5);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_000400f8:
      *piVar20 = 0x247a;
      goto LAB_0003fd3c;
    }
  }
  else {
LAB_0003fe04:
    piVar20[0xd] = 1;
  }
LAB_0003fe10:
  bufchain_init(iVar11 + 0x178);
  iVar19 = piVar20[0xd];
  *(int *)(iVar11 + 0x344) = *(int *)(puVar26 + 0x734a0) + -0x2890;
  piVar20[0x14] = 0;
  if (iVar19 != 0) {
    piVar20[0x13] = 0;
    goto LAB_0003fe38;
  }
  iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
  pcVar27 = *(code **)(puVar26 + 0x73554);
  piVar20[0x2f] = iVar19;
  iVar19 = (*pcVar27)(iVar19);
  if (iVar19 == 0) {
    uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
    pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);
    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c64,uVar2);
    iVar19 = (**(code **)(puVar26 + 0x73564))(piVar20[0x2f]);
    if (iVar19 == 3) {
      iVar19 = (**(code **)(puVar26 + 0x7356c))
                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)
      ;
      piVar20[0x14] = iVar19;
      if (iVar19 == 0) goto LAB_000424c4;
      piVar20[0x16] = 1;
LAB_0004292c:
      iVar19 = (**(code **)(puVar26 + 0x73574))(piVar20[0x2f],0);
      piVar20[0x17] = iVar19;
    }
    else if (iVar19 - 9U < 2) {
      iVar19 = (**(code **)(puVar26 + 0x7356c))
                         (piVar20[0x2f],piVar20 + 0x18,piVar20 + 0x15,piVar20 + 0x19,&ppppcStack_90)
      ;
      piVar20[0x14] = iVar19;
      if (iVar19 != 0) {
        iVar19 = *(int *)(puVar26 + 0x72fb4);
        piVar20[0x16] = 0;
        FUN_00036ce8(iVar11,iVar19 + 0x582c);
        goto LAB_0004292c;
      }
LAB_000424c4:
      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4c80,ppppcStack_90);
      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
      uVar2 = (**(code **)(puVar26 + 0x73010))
                        (*(int *)(puVar26 + 0x72fb4) + 0x4c98,uVar2,ppppcStack_90);
      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
      (**(code **)(puVar26 + 0x72fdc))(uVar2);
    }
    else {
      uVar2 = (**(code **)(puVar26 + 0x73568))(iVar19);
      FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4cc0,uVar2);
      uVar2 = (**(code **)(puVar26 + 0x73124))(piVar20[0x2f]);
      uVar14 = (**(code **)(puVar26 + 0x73568))(iVar19);
      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4ce4,uVar2,uVar14);
      uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
      FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
      (**(code **)(puVar26 + 0x72fdc))(uVar2);
      piVar20[0x14] = 0;
    }
  }
  uVar2 = *(undefined4 *)(iVar11 + 0x248);
  pcVar27 = *(code **)(puVar26 + 0x73040);
  piVar20[0x21] = 0;
  piVar20[0x1c] = 0;
  piVar20[0x1f] = 0;
  iVar19 = (*pcVar27)(uVar2,0x1c);
  if ((iVar19 == 0) || (iVar19 = (**(code **)(puVar26 + 0x73524))(), iVar19 == 0))
  goto LAB_0003fc30;
  (**(code **)(puVar26 + 0x73038))
            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4d0c);
  piVar20[0x1a] = 1;
  *(undefined1 *)(piVar20 + 0x1b) = 0xb;
  iVar19 = (**(code **)(puVar26 + 0x73030))
                     (piVar20 + 0x1a,5,&ppppcStack_90,piVar20 + 0x1e,
                      *(int *)(puVar26 + 0x73504) + 0xa58,iVar11);
  *(int *)(iVar11 + 0x6d0) = iVar19;
  if (iVar19 != 0) {
LAB_00040ffc:
    *piVar20 = 0x24d9;
    goto LAB_0003fd3c;
  }
LAB_0003fbf0:
  pppppcVar24 = (code *****)ppppcStack_90;
  piVar20[0x1c] = (int)ppppcStack_90;
  if ((code *****)ppppcStack_90 == (code *****)0x0) {
LAB_0003fc18:
    iVar19 = *(int *)(puVar26 + 0x72fb4);
  }
  else {
    iVar19 = *(int *)(puVar26 + 0x72fb4);
    if (4 < piVar20[0x1e]) {
      if (*(code *)(ppppcStack_90 + 1) == (code)0xc) {
        iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)((int)ppppcStack_90 + 5));
        piVar20[0x21] = iVar19;
        if (iVar19 < 0) {
          FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4d74,iVar19);
          piVar20[0x21] = 0;
        }
        else {
          pppppcVar24 = (code *****)((int)pppppcVar24 + 9);
          pppppcVar23 = (code *****)(piVar20[0x1e] + -9);
          if (iVar19 == 0) {
LAB_00042c08:
            pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x7336c) + 0x6ce8);
            FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4dc8,iVar19);
            if (piVar20[0x14] != 0) {
              unaff_s5 = (code *****)0x0;
              if (0 < piVar20[0x21]) {
                do {
                  iVar19 = (**(code **)(puVar26 + 0x73100))(*pppppcVar24);
                  piVar20[0x25] = iVar19;
                  if ((iVar19 == piVar20[0x15]) &&
                     (iVar15 = (**(code **)(puVar26 + 0x73af8))
                                         (pppppcVar24 + 1,piVar20[0x14],iVar19), iVar15 == 0)) {
                    FUN_00036ce8(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x4de4,unaff_s5);
                    piVar20[0x20] = (int)unaff_s5;
                    piVar20[0x1f] = (int)pppppcVar24;
                    goto LAB_0003fc30;
                  }
                  unaff_s5 = (code *****)((int)unaff_s5 + 1);
                  pcVar27 = (code *)((int)pppppcVar24 + iVar19 + 4);
                  iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)pcVar27);
                  pppppcVar24 = (code *****)(pcVar27 + iVar19 + 4);
                } while ((int)unaff_s5 < piVar20[0x21]);
              }
              if (piVar20[0x1f] == 0) {
                (**(code **)(puVar26 + 0x73038))
                          (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4e10);
                piVar20[0x21] = 0;
              }
            }
          }
          else {
            iVar19 = *(int *)(puVar26 + 0x72fb4);
            if (3 < (int)pppppcVar23) {
              unaff_s5 = (code *****)0x0;
              pppppcVar17 = pppppcVar24;
              do {
                pppppcVar23 = pppppcVar23 + -1;
                pppppcVar10 = (code *****)(**(code **)(puVar26 + 0x73100))(*pppppcVar17);
                if (pppppcVar23 < pppppcVar10) {
LAB_00042a68:
                  iVar19 = *(int *)(puVar26 + 0x72fb4);
                  break;
                }
                pppppcVar23 = (code *****)((int)pppppcVar23 + (-4 - (int)pppppcVar10));
                iVar15 = (**(code **)(puVar26 + 0x73100))
                                   (*(undefined4 *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)));
                if ((iVar15 < 0) || ((int)pppppcVar23 < iVar15)) goto LAB_00042a68;
                iVar19 = piVar20[0x21];
                unaff_s5 = (code *****)((int)unaff_s5 + 1);
                pppppcVar23 = (code *****)((int)pppppcVar23 - iVar15);
                pppppcVar17 = (code *****)
                              ((code *)((int)pppppcVar17 + (int)(pppppcVar10 + 1)) + iVar15 + 4);
                if (iVar19 <= (int)unaff_s5) goto LAB_00042c08;
                iVar19 = *(int *)(puVar26 + 0x72fb4);
              } while (3 < (int)pppppcVar23);
            }
            FUN_00036ce8(iVar11,iVar19 + 0x4da8);
            piVar20[0x21] = 0;
          }
        }
        goto LAB_0003fc30;
      }
      goto LAB_0003fc18;
    }
  }
  (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110),iVar19 + 0x4e34);
LAB_0003fc30:
  piVar20[0x13] = 0;
  if (piVar20[0xd] != 0) goto LAB_0003fe38;
  uVar2 = *(undefined4 *)(iVar11 + 0x248);
LAB_0003fc40:
  iVar19 = get_remote_username(uVar2);
  *(int *)(iVar11 + 0x250) = iVar19;
  if (iVar19 == 0) {
    puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
    piVar20[0xf] = (int)puVar3;
    *puVar3 = 1;
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e58);
    pppppcVar23 = (code *****)piVar20[0xf];
    puVar3[1] = uVar2;
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x4e68);
    (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,1);
    iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040ca4:
    if (iVar19 < 0) {
      *(undefined4 *)(iVar11 + 0x100) = 1;
      *piVar20 = 0x2561;
      goto LAB_0003fd3c;
    }
    if (iVar19 == 0) {
      (**(code **)(puVar26 + 0x7353c))();
      uVar2 = 0;
      iVar15 = 0;
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4e74;
      goto LAB_00040b30;
    }
    uVar2 = (**(code **)(puVar26 + 0x7301c))(*(undefined4 *)(**(int **)(piVar20[0xf] + 0x18) + 8));
    iVar19 = piVar20[0xf];
    pcVar27 = *(code **)(puVar26 + 0x7353c);
    *(undefined4 *)(iVar11 + 0x250) = uVar2;
    (*pcVar27)(iVar19);
  }
  else if ((**(uint **)(puVar26 + 0x730a8) & 5) != 0) {
    uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x4e8c,iVar19);
    uVar14 = (**(code **)(puVar26 + 0x73a54))(uVar2);
    FUN_0003a5ac(iVar11 + 0x110,uVar2,uVar14);
    (**(code **)(puVar26 + 0x72fdc))(uVar2);
  }
LAB_0003fc6c:
  piVar20[0x13] = 1;
  *(undefined4 *)(iVar11 + 0x188) = 0;
  iVar19 = FUN_0003b04c(0x32);
  uVar2 = *(undefined4 *)(iVar11 + 0x250);
  piVar20[0x2e] = iVar19;
  FUN_0003b23c(iVar19,uVar2);
  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
  FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4ea4);
  FUN_000463f8(iVar11,piVar20[0x2e]);
  piVar20[1] = 0;
  piVar20[3] = 0;
  piVar20[0xd] = 0;
  piVar20[8] = 0;
  piVar20[0xc] = 0;
  piVar20[9] = 0;
  if (piVar20[0x1c] == 0) goto LAB_0003fb80;
  if (piVar20[0x1f] == 0) {
    piVar20[0x20] = 0;
    piVar20[0x1d] = piVar20[0x1c] + 9;
    *piVar20 = 0x25a0;
  }
  else {
    piVar20[0x1d] = piVar20[0x1f];
    *piVar20 = 0x25a0;
  }
LAB_0003fd3c:
  if (iStack_84 == *piVar21) {
    return;
  }
  (**(code **)(puVar26 + 0x73ae4))();
LAB_00042b98:
  (**(code **)(puVar26 + 0x73038))
            (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5318);
  (**(code **)(piVar20[0x30] + 0x10))(piVar20[0x30],pppppcVar23);
  iVar19 = piVar20[3];
LAB_0003fb74:
  ppppcStack_94 = (code ****)0x0;
  ppppcStack_90 = (code ****)0x0;
  if (iVar19 == 0) goto LAB_0003fb80;
LAB_0003f824:
  ppppcStack_90 = (code ****)0x0;
  ppppcStack_94 = (code ****)0x0;
LAB_0003f828:
  pppppcVar23 = (code *****)(iVar11 + 0x178);
  iVar19 = bufchain_size(pppppcVar23);
  if (iVar19 != 0) {
    unaff_s5 = *(code ******)(puVar26 + 0x730a8);
    if (((uint)*unaff_s5 & 5) != 0) {
      pcVar9 = (char *)(**(code **)(puVar26 + 0x73014))(iVar19,1);
      (**(code **)(puVar26 + 0x7304c))(pppppcVar23,pcVar9,iVar19);
      if (((uint)*unaff_s5 & 2) == 0) {
        from_backend_untrusted(*(undefined4 *)(iVar11 + 0x110),pcVar9,iVar19);
      }
      else {
        puVar3 = *(undefined4 **)(puVar26 + 0x73b28);
        if (0 < iVar19) {
          unaff_s5 = (code *****)&DAT_0000000d;
          pcVar25 = pcVar9;
          do {
            uVar8 = (uint)*pcVar25;
            if ((uVar8 != 0xd) && ((uVar8 == 10 || ((uVar8 & 0x60) != 0)))) {
              (**(code **)(puVar26 + 0x739c4))(uVar8,*puVar3);
            }
            pcVar25 = pcVar25 + 1;
          } while (pcVar25 != pcVar9 + iVar19);
        }
      }
      safefree(pcVar9);
    }
  }
  bufchain_clear(pppppcVar23);
  ppppcVar4 = pppppcVar24[2];
  if (ppppcVar4 == (code ****)0x34) {
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4eac);
    piVar20[0xe] = 1;
    piVar20[0xd] = 1;
LAB_0003fe38:
    iVar19 = piVar20[0x14];
    *(undefined4 *)(iVar11 + 0x344) = 0;
    if (iVar19 != 0) {
      safefree(piVar20[0x18]);
      safefree(piVar20[0x14]);
      safefree(piVar20[0x19]);
    }
    if (piVar20[0x1c] != 0) {
      safefree();
    }
    iVar19 = *(int *)(puVar26 + 0x7336c);
    if (piVar20[0xe] == 0) {
LAB_0003fecc:
      pcVar27 = *(code **)(puVar26 + 0x730c8);
    }
    else {
      pcVar27 = *(code **)(puVar26 + 0x730c8);
      if (*(int *)(iVar11 + 0xec) == 0) {
        FUN_00042dec(iVar11,*(int *)(puVar26 + 0x72fb4) + 0x55c8,0xfffffffe,0);
        iVar19 = *(int *)(puVar26 + 0x7336c);
        goto LAB_0003fecc;
      }
    }
    uVar2 = (*pcVar27)(iVar19 + 0x6ba0);
    *(undefined4 *)(iVar11 + 0x124) = uVar2;
    pcVar27 = *(code **)(puVar26 + 0x73040);
    *(int *)(iVar11 + 0x3e4) = *(int *)(puVar26 + 0x73504) + -0x4ed8;
    *(int *)(iVar11 + 0x3b0) = *(int *)(puVar26 + 0x734a0) + 0x6eec;
    iVar19 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x2d);
    if (iVar19 == 0) {
      piVar5 = (int *)safemalloc(1,0x5c);
      *(int **)(iVar11 + 0x128) = piVar5;
      *piVar5 = iVar11;
      FUN_0003e1f8(piVar5);
      pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);
      if (*pcVar9 == '\0') {
        iVar19 = FUN_0003c284(*(int *)(iVar11 + 0x128) + 8,*(int *)(iVar11 + 0x128) + 0x34,
                              *(int *)(puVar26 + 0x72fb4) + 0x7718);
        uVar2 = *(undefined4 *)(iVar11 + 0x110);
        piVar20[0x2e] = iVar19;
        (**(code **)(puVar26 + 0x73038))(uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55f8);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        *(undefined4 *)(iVar11 + 300) = 0;
        *piVar20 = 0x2a03;
      }
      else {
        uVar14 = *(undefined4 *)(iVar11 + 0x128);
        pppppcVar23 = (code *****)
                      (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x2e);
        uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2f);
        MASKED(uVar14,pppppcVar23,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x55e8);
        *(undefined4 *)(iVar11 + 300) = 1;
LAB_00040660:
        *piVar20 = 0x2a03;
      }
    }
    else {
      *(undefined4 *)(iVar11 + 0x128) = 0;
LAB_0003ff14:
      iVar15 = *(int *)(puVar26 + 0x73504);
      iVar19 = *(int *)(puVar26 + 0x73504);
      *(int *)(iVar11 + 0x3ec) = iVar15 + -0x5294;
      *(int *)(iVar11 + 1000) = iVar15 + -0x5294;
      iVar15 = *(int *)(puVar26 + 0x73504);
      *(int *)(iVar11 + 0x3fc) = iVar19 + -0x4d18;
      *(int *)(iVar11 + 0x400) = iVar19 + -0x4d18;
      *(int *)(iVar11 + 0x3f0) = iVar15 + -0x4950;
      *(int *)(iVar11 + 0x3f4) = *(int *)(puVar26 + 0x73504) + -0x4ac8;
      *(int *)(iVar11 + 0x3dc) = *(int *)(puVar26 + 0x73504) + -0x4c28;
      *(int *)(iVar11 + 0x3e0) = *(int *)(puVar26 + 0x73504) + -0x7a0c;
      *(int *)(iVar11 + 0x3f8) = *(int *)(puVar26 + 0x734a0) + 0x7d24;
      *(int *)(iVar11 + 0x3d8) = *(int *)(puVar26 + 0x734a0) + 0x642c;
      if (*(int *)(iVar11 + 0xf4) != 0) {
        (**(code **)(puVar26 + 0x73544))(*(int *)(iVar11 + 0xf4),*(undefined4 *)(iVar11 + 8));
      }
      if ((*(int *)(iVar11 + 0x128) != 0) && (iVar19 = FUN_0003769c(iVar11), iVar19 != 0)) {
        iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x56e0,0
                              ,0);
        piVar20[0x2e] = iVar19;
        FUN_000463f8(iVar11,iVar19);
      }
      FUN_00049578(iVar11,*(undefined4 *)(iVar11 + 0x248));
      if ((*(int *)(iVar11 + 0x128) == 0) || (*(int *)(iVar11 + 300) != 0)) {
        *(undefined4 *)(iVar11 + 0x104) = 1;
        *(undefined4 *)(iVar11 + 0x108) = 1;
LAB_0003ffec:
        *(undefined4 *)(iVar11 + 0x144) = 3;
        if (*(int *)(iVar11 + 0x148) != 0) {
          FUN_0004a3a4(iVar11,*(undefined4 *)(iVar11 + 0x11c),*(undefined4 *)(iVar11 + 0x120));
        }
        if (*(int *)(iVar11 + 0x14c) != 0) {
          FUN_0004f144(iVar11,0xc);
        }
        if (*(int *)(iVar11 + 0x14) != 0) {
          ldisc_echoedit_update();
        }
        if (*(int *)(iVar11 + 0x128) == 0) {
LAB_0003f7c4:
          *piVar20 = 0x2abd;
        }
        else {
          *(undefined4 *)(iVar11 + 0x100) = 1;
          *piVar20 = 0x2abd;
        }
      }
      else {
        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x95);
        if (iVar19 != 0) {
          uVar2 = (**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),0x96);
          iVar19 = (**(code **)(puVar26 + 0x73570))(uVar2,*(undefined4 *)(iVar11 + 0x248));
          *(int *)(iVar11 + 0x18c) = iVar19;
          if (iVar19 == 0) {
            (**(code **)(puVar26 + 0x73038))
                      (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5704);
          }
          else {
            uVar14 = *(undefined4 *)(iVar11 + 0x194);
            uVar2 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x97);
            iVar19 = (**(code **)(puVar26 + 0x73528))(uVar14,uVar2);
            uVar2 = *(undefined4 *)(iVar11 + 0x128);
            *(int *)(iVar11 + 400) = iVar19;
            *(undefined4 *)(iVar19 + 0x1c) = *(undefined4 *)(iVar11 + 0x18c);
            FUN_00046fcc(uVar2,0,0);
          }
        }
        iVar19 = ssh_agent_forwarding_permitted(iVar11);
        if (iVar19 != 0) {
          FUN_000471a8(*(undefined4 *)(iVar11 + 0x128),0,0);
        }
        iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x16);
        if (iVar19 == 0) {
          FUN_000472d4(*(undefined4 *)(iVar11 + 0x128),0,0);
        }
        FUN_00047600(*(undefined4 *)(iVar11 + 0x128),0,0);
        if (*(int *)(iVar11 + 0x174) == 0) {
          pppppcVar23 = (code *****)
                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2b);
          uVar2 = 0x14;
        }
        else {
LAB_0004261c:
          pppppcVar23 = (code *****)
                        (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x2c);
          uVar2 = 0x15;
        }
        pcVar9 = (char *)(**(code **)(puVar26 + 0x73094))(*(undefined4 *)(iVar11 + 0x248),uVar2);
        if (pppppcVar23 == (code *****)0x0) {
          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;
          if (*pcVar9 != '\0') {
            iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x574c;
            goto LAB_00041828;
          }
          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),*(int *)(puVar26 + 0x72fb4) + 0x5754
                                ,iVar15,0);
          piVar20[0x2e] = iVar19;
        }
        else {
          iVar15 = *(int *)(puVar26 + 0x73504) + 0xaac;
          iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x5740;
LAB_00041828:
          iVar19 = FUN_0003c380(*(undefined4 *)(iVar11 + 0x128),iVar19,iVar15,0);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,pcVar9);
          iVar19 = piVar20[0x2e];
        }
        FUN_000463f8(iVar11,iVar19);
LAB_00041870:
        *piVar20 = 0x2a90;
      }
    }
    goto LAB_0003fd3c;
  }
  if (ppppcVar4 == (code ****)0x33) {
    piVar20[3] = 0;
    FUN_00037704(pppppcVar24,&ppppcStack_94,&ppppcStack_90);
    ppppcVar4 = pppppcVar24[6];
    if (((int)*pppppcVar24 - (int)ppppcVar4 < 1) ||
       (cVar1 = *(char *)((int)pppppcVar24[5] + (int)ppppcVar4),
       pppppcVar24[6] = (code ****)((int)ppppcVar4 + 1), cVar1 == '\0')) {
      iVar19 = piVar20[1];
      piVar5 = *(int **)(puVar26 + 0x734a0);
      if (iVar19 == 0) goto LAB_000411b0;
      if (iVar19 - 2U < 2) {
        if (iVar19 == 2) {
          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4ef4,0x18);
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f10);
        goto LAB_000411b0;
      }
      if (iVar19 == 1) {
        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x4f28,0x3c);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4f68);
        goto LAB_000411b0;
      }
      if (iVar19 == 7) {
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fa4);
        goto LAB_000411b0;
      }
      iVar15 = *(int *)(puVar26 + 0x72fb4);
      if (iVar19 != 5) {
        if (iVar19 != 6) {
          if (iVar19 != 4) goto LAB_00042db4;
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5034);
          FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);
          iVar19 = (**(code **)(puVar26 + 0x73040))(*(undefined4 *)(iVar11 + 0x248),0x1e);
          if (iVar19 == 0) goto LAB_000411b0;
          uVar2 = *(undefined4 *)(iVar11 + 0x248);
          piVar20[0xd] = 0;
          if (piVar20[0x13] == 0) goto LAB_0003fc40;
          iVar19 = (**(code **)(puVar26 + 0x73040))(uVar2,0x1e);
          if (iVar19 == 0) goto LAB_0003fc6c;
          uVar2 = *(undefined4 *)(iVar11 + 0x248);
          goto LAB_0003fc40;
        }
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x4fd8);
        FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5004,0xf);
        goto LAB_000411b0;
      }
    }
    else {
      FUN_0003a5ac(iVar11 + 0x110,*(int *)(puVar26 + 0x72fb4) + 0x5054,0x21);
      (**(code **)(puVar26 + 0x73038))
                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5078);
LAB_000411b0:
      iVar15 = *(int *)(puVar26 + 0x72fb4);
    }
    pppppcVar23 = (code *****)ppppcStack_90;
    pppppcVar24 = (code *****)ppppcStack_94;
    iVar19 = FUN_0003d91c(iVar15 + 0x5098,ppppcStack_94,ppppcStack_90);
    piVar20[5] = iVar19;
    iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x54ac,pppppcVar24,pppppcVar23);
    uVar2 = *(undefined4 *)(iVar11 + 0x248);
    pcVar27 = *(code **)(puVar26 + 0x73040);
    piVar20[6] = iVar19;
    uVar8 = (*pcVar27)(uVar2,0x26);
    if (uVar8 != 0) {
      iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50a4,ppppcStack_94,ppppcStack_90);
      uVar8 = (uint)(iVar19 != 0);
    }
    pcVar27 = *(code **)(puVar26 + 0x73040);
    uVar2 = *(undefined4 *)(iVar11 + 0x248);
    piVar20[7] = uVar8;
    iVar19 = (*pcVar27)(uVar2,0x27);
    if ((iVar19 == 0) ||
       (iVar19 = FUN_0003d91c(*(int *)(puVar26 + 0x72fb4) + 0x50bc,ppppcStack_94,ppppcStack_90),
       iVar19 == 0)) {
      piVar20[10] = 0;
    }
    else {
      iVar19 = *(int *)(iVar11 + 0x6a8);
      if (iVar19 == 0) {
        iVar19 = (**(code **)(puVar26 + 0x73558))(*(undefined4 *)(iVar11 + 0x248));
        *(int *)(iVar11 + 0x6a8) = iVar19;
      }
      piVar20[10] = (uint)(0 < *(int *)(iVar19 + 4));
    }
  }
  else {
    if (piVar20[1] != 5) {
      iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x4ebc;
LAB_00040078:
      uVar2 = dupprintf(iVar19,ppppcVar4);
LAB_00040050:
      FUN_0003822c(iVar11,uVar2);
LAB_0003fd38:
      *piVar20 = 0;
      goto LAB_0003fd3c;
    }
    piVar20[3] = 0;
  }
  iVar19 = piVar20[5];
  *(undefined4 *)(iVar11 + 0x188) = 0;
  if (iVar19 != 0) {
    if ((piVar20[9] == 0) && (piVar20[0x21] != 0)) {
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      iVar15 = piVar20[0x20];
      pppppcVar23 = (code *****)&pppcStack_88;
      *(undefined4 *)(iVar11 + 0x188) = 1;
      FUN_00036ce8(iVar11,iVar19 + 0x50cc,iVar15);
      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);
      iVar6 = piVar20[0x1d];
      piVar20[0x25] = iVar19;
      iVar15 = iVar6 + 4;
      piVar20[0x22] = iVar15;
      pcVar27 = *(code **)(puVar26 + 0x73100);
      piVar20[0x1d] = iVar15 + iVar19;
      iVar19 = (*pcVar27)(*(undefined4 *)(iVar6 + 4));
      piVar20[0x26] = iVar19;
      piVar20[0x23] = piVar20[0x22] + 4;
      iVar19 = (**(code **)(puVar26 + 0x73100))(*(undefined4 *)piVar20[0x1d]);
      piVar20[0x27] = iVar19;
      piVar20[0x24] = piVar20[0x1d] + 4;
      piVar20[0x1d] = piVar20[0x1d] + 4 + iVar19;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      unaff_s5 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,pppppcVar23,4);
      iVar6 = piVar20[0x26];
      iVar15 = piVar20[0x23];
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,iVar15,iVar6);
      pppppcVar24 = (code *****)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(pppppcVar24,pppppcVar23,4);
      iVar6 = piVar20[0x25];
      iVar15 = piVar20[0x22];
      iVar19 = piVar20[0x2e];
      pppppcVar24[6] = *pppppcVar24;
      FUN_0003b124(iVar19,iVar15,iVar6);
      FUN_000463f8(iVar11,piVar20[0x2e]);
      piVar20[1] = 3;
LAB_00040908:
      *piVar20 = 0x2650;
      goto LAB_0003fd3c;
    }
    if (((piVar20[0x14] != 0) && (piVar20[0x16] != 0)) && (piVar20[8] == 0)) {
      *(undefined4 *)(iVar11 + 0x188) = 1;
      piVar20[8] = 1;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      pppppcVar23 = (code *****)(*(int *)(puVar26 + 0x734a0) + -0x510c);
      pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
      FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
      FUN_0003b23c(piVar20[0x2e],piVar20[0x18]);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,&pppcStack_88,4);
      iVar6 = piVar20[0x15];
      iVar15 = piVar20[0x14];
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,iVar15,iVar6);
      FUN_000463f8(iVar11,piVar20[0x2e]);
      (**(code **)(puVar26 + 0x73038))
                (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5158);
LAB_00041ab0:
      *piVar20 = 0x26df;
      goto LAB_0003fd3c;
    }
  }
  if ((piVar20[10] != 0) && (piVar20[0xb] == 0)) {
    piVar20[0xb] = 1;
    iVar15 = 0;
    piVar20[3] = 1;
    piVar20[1] = 5;
    *(undefined4 *)(iVar11 + 0x188) = 3;
    iVar19 = **(int **)(puVar26 + 0x73414);
    piVar20[0x30] = 0;
    if (0 < iVar19) {
      pcVar27 = *(code **)(puVar26 + 0x733d0);
      do {
        iVar6 = (*pcVar27)(*(undefined4 *)(iVar11 + 0x248),0x29,iVar15);
        iVar18 = (*(int **)(iVar11 + 0x6a8))[1];
        if (0 < iVar18) {
          piVar5 = (int *)**(int **)(iVar11 + 0x6a8);
          if (iVar6 == *piVar5) {
LAB_0004106c:
            piVar20[0x30] = (int)piVar5;
            goto LAB_0003f984;
          }
          iVar13 = 0;
          while( true ) {
            piVar5 = piVar5 + 0x15;
            iVar13 = iVar13 + 1;
            if (iVar13 == iVar18) break;
            if (*piVar5 == iVar6) goto LAB_0004106c;
          }
        }
        iVar15 = iVar15 + 1;
        pcVar27 = *(code **)(puVar26 + 0x733d0);
      } while (iVar19 != iVar15);
      piVar5 = (int *)piVar20[0x30];
LAB_0003f984:
      if (piVar5 != (int *)0x0) {
        if (piVar5[1] != 0) {
          (**(code **)(puVar26 + 0x73038))(*(undefined4 *)(iVar11 + 0x110));
        }
        pppppcVar23 = (code *****)&pppcStack_98;
        iVar19 = FUN_0003b04c(0x32);
        uVar2 = *(undefined4 *)(iVar11 + 0x250);
        piVar20[0x2e] = iVar19;
        FUN_0003b23c(iVar19,uVar2);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
        FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50bc);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x524c);
        (**(code **)(piVar20[0x30] + 8))(piVar20[0x30],piVar20 + 0x32);
        pppcStack_88 = (code ***)0x1;
        FUN_0003aef4(piVar20[0x2e],&pppcStack_88,4);
        FUN_0003b1cc(piVar20[0x2e],piVar20[0x32] + 2);
        pppcStack_98 = (code ***)CONCAT13(6,pppcStack_98._1_3_);
        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
        pppcStack_98 = (code ***)CONCAT13((char)piVar20[0x32],pppcStack_98._1_3_);
        FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
        FUN_0003aef4(piVar20[0x2e],piVar20[0x33],piVar20[0x32]);
        FUN_000463f8(iVar11,piVar20[0x2e]);
LAB_0003fae0:
        *piVar20 = 0x27b6;
        goto LAB_0003fd3c;
      }
    }
    iVar19 = *(int *)(puVar26 + 0x72fb4) + 0x35c0;
    (**(code **)(puVar26 + 0x73938))
              (*(int *)(puVar26 + 0x72fb4) + 0x5240,iVar19,0x2799,
               *(int *)(puVar26 + 0x72fb4) + 0x7e08);
    do {
      FUN_0003a5ac(iVar11 + 0x110,iVar19 + 0x51dc,0x12);
LAB_00041ae8:
      if (piVar20[0x17] == 0) {
        iVar19 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
        piVar20[0x2f] = iVar19;
        piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar19,0,&ppppcStack_90);
        pppppcVar23 = &ppppcStack_90;
        if (piVar5 == *(int **)(puVar26 + 0x73550)) goto LAB_00041b34;
        break;
      }
      puVar3 = (undefined4 *)(**(code **)(puVar26 + 0x73530))(*(undefined4 *)(iVar11 + 0x110));
      piVar20[0xf] = (int)puVar3;
      *puVar3 = 0;
      uVar2 = (**(code **)(puVar26 + 0x7301c))(*(int *)(puVar26 + 0x72fb4) + 0x5190);
      iVar19 = piVar20[0x19];
      pppppcVar23 = (code *****)piVar20[0xf];
      puVar3[1] = uVar2;
      uVar2 = (**(code **)(puVar26 + 0x73010))(*(int *)(puVar26 + 0x72fb4) + 0x51a4,iVar19);
      (**(code **)(puVar26 + 0x73534))(pppppcVar23,uVar2,0);
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040240:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x2703;
        goto LAB_0003fd3c;
      }
      iVar15 = piVar20[0xf];
      if (iVar19 == 0) goto LAB_00040b04;
      unaff_s5 = &ppppcStack_90;
      iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));
      (**(code **)(puVar26 + 0x7353c))(piVar20[0xf]);
      iVar15 = (**(code **)(puVar26 + 0x73134))(*(undefined4 *)(iVar11 + 0x248),0x20);
      piVar20[0x2f] = iVar15;
      piVar5 = (int *)(**(code **)(puVar26 + 0x7354c))(iVar15,iVar19,unaff_s5);
      if (iVar19 == 0) goto LAB_00042dd8;
      uVar2 = (**(code **)(puVar26 + 0x73a54))(iVar19);
      smemclr(iVar19,uVar2);
      safefree(iVar19);
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      pppppcVar23 = unaff_s5;
    } while (piVar5 == *(int **)(puVar26 + 0x73550));
    do {
      if (piVar5 == (int *)0x0) break;
      iVar19 = FUN_0003b04c(0x32);
      uVar2 = *(undefined4 *)(iVar11 + 0x250);
      piVar20[0x2e] = iVar19;
      FUN_0003b23c(iVar19,uVar2);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
      FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x5098);
      ppppcStack_90 = (code ****)CONCAT13(1,ppppcStack_90._1_3_);
      FUN_0003aef4(piVar20[0x2e],pppppcVar23,1);
      FUN_0003b23c(piVar20[0x2e],*(undefined4 *)(*piVar5 + 0x30));
      unaff_s5 = (code *****)(**(code **)(*piVar5 + 0xc))(piVar5[1],&ppppcStack_94);
      puVar3 = (undefined4 *)piVar20[0x2e];
      pppcStack_88 = (code ***)0x0;
      FUN_0003aef4(puVar3,&pppcStack_88,4);
      iVar19 = piVar20[0x2e];
      puVar3[6] = *puVar3;
      FUN_0003b124(iVar19,unaff_s5,ppppcStack_94);
      iVar19 = *(int *)piVar20[0x2e] + -1 + *(int *)(iVar11 + 0xe4);
      if ((*(uint *)(iVar11 + 0x50) & 0x80) != 0) {
        iVar19 = iVar19 + -4;
      }
      puVar7 = (undefined1 *)safemalloc(iVar19,1);
      if ((*(uint *)(iVar11 + 0x50) & 0x80) == 0) {
        iVar15 = 4;
        *puVar7 = *(undefined1 *)(iVar11 + 0xe4);
        puVar7[1] = (char)*(undefined2 *)(iVar11 + 0xe4);
        puVar7[2] = (char)((uint)*(undefined4 *)(iVar11 + 0xe4) >> 8);
        puVar7[3] = (char)*(undefined4 *)(iVar11 + 0xe4);
        puVar12 = puVar7 + 4;
      }
      else {
        iVar15 = 0;
        puVar12 = puVar7;
      }
      (**(code **)(puVar26 + 0x73b14))(puVar12,iVar11 + 0xa4,*(undefined4 *)(iVar11 + 0xe4));
      iVar15 = iVar15 + *(int *)(iVar11 + 0xe4);
      (**(code **)(puVar26 + 0x73b14))
                (puVar7 + iVar15,((int *)piVar20[0x2e])[4] + 5,*(int *)piVar20[0x2e] + -5);
      if (iVar19 == *(int *)piVar20[0x2e] + -5 + iVar15) {
        pppppcVar23 = (code *****)(**(code **)(*piVar5 + 0x2c))(piVar5[1],puVar7,iVar19,pppppcVar23)
        ;
        FUN_0003d9e8(*(undefined4 *)(iVar11 + 0x50),piVar20[0x2e],unaff_s5,ppppcStack_94,pppppcVar23
                     ,ppppcStack_90);
        safefree(unaff_s5);
        safefree(pppppcVar23);
        safefree(puVar7);
        FUN_000463f8(iVar11,piVar20[0x2e]);
        (**(code **)(puVar26 + 0x73038))
                  (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5224);
        iVar19 = *piVar5;
        iVar15 = piVar5[1];
        piVar20[1] = 1;
        (**(code **)(iVar19 + 4))(iVar15);
        safefree(piVar5[2]);
        safefree(piVar5);
        iVar19 = piVar20[3];
        goto LAB_0003fb74;
      }
      (**(code **)(puVar26 + 0x73938))
                (*(int *)(puVar26 + 0x72fb4) + 0x5210,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2763,
                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);
      unaff_s5 = pppppcVar23;
LAB_00042db4:
      (**(code **)(puVar26 + 0x73938))
                (*(int *)(puVar26 + 0x72fb4) + 0x5014,*(int *)(puVar26 + 0x72fb4) + 0x35c0,0x2600,
                 *(int *)(puVar26 + 0x72fb4) + 0x7e08);
LAB_00042dd8:
      pppppcVar23 = unaff_s5;
    } while (piVar5 != *(int **)(puVar26 + 0x73550));
LAB_00041b34:
    pppppcVar23 = (code *****)(iVar11 + 0x110);
    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + 0x51f0,0x1c);
    unaff_s5 = (code *****)ppppcStack_90;
    uVar2 = (**(code **)(puVar26 + 0x73a54))(ppppcStack_90);
    FUN_0003a5ac(pppppcVar23,unaff_s5,uVar2);
    FUN_0003a5ac(pppppcVar23,*(int *)(puVar26 + 0x72fb4) + -0x116c,3);
    iVar19 = piVar20[3];
    goto LAB_0003fb74;
  }
  if ((piVar20[7] == 0) || (piVar20[0xc] != 0)) {
    if (piVar20[6] == 0) {
      uVar2 = dupprintf(*(int *)(puVar26 + 0x72fb4) + 0x5554,ppppcStack_90,ppppcStack_94);
      FUN_00047994(iVar11,uVar2,*(int *)(puVar26 + 0x72fb4) + 0x5598,0xe,0);
LAB_00041054:
      safefree(uVar2);
      *piVar20 = 0;
    }
    else {
      *(undefined4 *)(iVar11 + 0x188) = 2;
      puVar3 = (undefined4 *)new_prompts(*(undefined4 *)(iVar11 + 0x110));
      piVar20[0xf] = (int)puVar3;
      *puVar3 = 1;
      uVar2 = dupstr(*(int *)(puVar26 + 0x72fb4) + 0x54a8);
      uVar16 = *(undefined4 *)(iVar11 + 0xf8);
      uVar14 = *(undefined4 *)(iVar11 + 0x250);
      pppppcVar23 = (code *****)piVar20[0xf];
      iVar19 = *(int *)(puVar26 + 0x72fb4);
      puVar3[1] = uVar2;
      uVar2 = dupprintf(iVar19 + 0x5480,uVar14,uVar16);
      add_prompt(pppppcVar23,uVar2,0);
      iVar19 = (**(code **)(puVar26 + 0x73538))(piVar20[0xf],0,0);
LAB_00040118:
      if (iVar19 < 0) {
        *(undefined4 *)(iVar11 + 0x100) = 1;
        *piVar20 = 0x28e8;
      }
      else {
        iVar15 = piVar20[0xf];
        if (iVar19 == 0) {
LAB_00040b04:
          pcVar27 = *(code **)(puVar26 + 0x7353c);
LAB_00040b08:
          (*pcVar27)(iVar15);
          uVar2 = 0xd;
          iVar19 = 0;
          iVar15 = *(int *)(puVar26 + 0x72fb4) + 0x51c4;
LAB_00040b30:
          FUN_00047994(iVar11,iVar19,iVar15,uVar2,1);
          *piVar20 = 0;
        }
        else {
          iVar19 = dupstr(*(undefined4 *)(**(int **)(iVar15 + 0x18) + 8));
          pcVar27 = *(code **)(puVar26 + 0x7353c);
          piVar20[0x12] = iVar19;
          (*pcVar27)(piVar20[0xf]);
          iVar19 = FUN_0003b04c(0x32);
          uVar2 = *(undefined4 *)(iVar11 + 0x250);
          piVar20[0x2e] = iVar19;
          FUN_0003b23c(iVar19,uVar2);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
          FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x54ac);
          pppcStack_98 = (code ***)((uint)pppcStack_98 & 0xffffff);
          FUN_0003aef4(piVar20[0x2e],&pppcStack_98,1);
          FUN_0003b23c(piVar20[0x2e],piVar20[0x12]);
          FUN_0004c528(iVar11,piVar20[0x2e]);
          (**(code **)(puVar26 + 0x73038))
                    (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x5494);
          piVar20[1] = 4;
LAB_00040220:
          *piVar20 = 0x2917;
        }
      }
    }
  }
  else {
    pppppcVar23 = *(code ******)(puVar26 + 0x72fb4);
    piVar20[1] = 6;
    *(undefined4 *)(iVar11 + 0x188) = 4;
    iVar19 = FUN_0003b04c(0x32);
    uVar2 = *(undefined4 *)(iVar11 + 0x250);
    piVar20[0x2e] = iVar19;
    FUN_0003b23c(iVar19,uVar2);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x4c34);
    FUN_0003b23c(piVar20[0x2e],*(int *)(puVar26 + 0x72fb4) + 0x50a4);
    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);
    FUN_0003b23c(piVar20[0x2e],pppppcVar23 + 0x13d9);
    FUN_000463f8(iVar11,piVar20[0x2e]);
    (**(code **)(puVar26 + 0x73038))
              (*(undefined4 *)(iVar11 + 0x110),*(int *)(puVar26 + 0x72fb4) + 0x53ec);
LAB_0004072c:
    *piVar20 = 0x284b;
  }
  goto LAB_0003fd3c;
LAB_0003fb80:
  *piVar20 = 0x25a0;
  goto LAB_0003fd3c;
}

