
/* WARNING: Removing unreachable block (ram,0x0003abe4) */
/* WARNING: Removing unreachable block (ram,0x0003abec) */

char * macro_expand_body(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,
                        macro_entry *macro)

{
  char cVar1;
  ushort uVar2;
  bool bVar3;
  undefined *puVar4;
  code *pcVar5;
  code *pcVar6;
  undefined4 uVar7;
  void *pvVar8;
  int iVar9;
  byte *pbVar10;
  formal_entry *pfVar11;
  uint uVar12;
  char *pcVar13;
  uint uVar14;
  uint uVar15;
  size_t sVar16;
  char *pcVar17;
  char *file;
  undefined4 uVar18;
  char buffer [12];
  sb t;
  int local_54;
  
  puVar4 = PTR_mips_opcodes_000b5cd0;
  uVar14 = 0;
  pcVar13 = (char *)0x0;
  sb_new(&t);
  uVar12 = in->len;
  local_54 = 0;
  bVar3 = false;
  pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960);
  pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814);
LAB_0003ab34:
  uVar15 = uVar14;
  if (uVar12 <= uVar14) {
LAB_0003abd4:
    sb_kill(&t);
    return pcVar13;
  }
  do {
    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;
    pcVar17 = in->ptr;
    pbVar10 = (byte *)(pcVar17 + uVar15);
    sVar16 = (size_t)(char)*pbVar10;
    if (sVar16 == 0x26) {
      uVar14 = uVar15 + 1;
      sb_reset(&t);
      if (*(int *)(puVar4 + -0xe10) == 0) {
        uVar18 = 0;
        uVar7 = 0x26;
LAB_0003ad4c:
        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);
        uVar12 = in->len;
      }
      else {
        if (uVar14 < in->len) {
          pcVar17 = in->ptr;
          if (pcVar17[uVar14] == '&') {
            uVar18 = 1;
            uVar7 = 0x27;
            uVar14 = uVar15 + 2;
            goto LAB_0003ad4c;
          }
        }
        else {
          pcVar17 = in->ptr;
        }
        sb_add_char(out,(int)pcVar17[uVar15]);
        uVar12 = in->len;
      }
      goto LAB_0003ab34;
    }
    if (sVar16 == 0x5c) {
      uVar14 = uVar15 + 1;
      if (uVar14 < uVar12) {
        iVar9 = (int)pcVar17[uVar14];
        if (iVar9 == 0x28) {
          uVar14 = uVar15 + 2;
          if (uVar12 <= uVar14) goto LAB_0003b084;
          cVar1 = pcVar17[uVar14];
          break;
        }
        if (iVar9 == 0x40) {
          uVar14 = uVar15 + 2;
          (*(code *)PTR_sprintf_000b65a0)
                    (buffer,PTR_s_operand_000b5e4c + -0x6960,
                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));
          sb_add_string(out,buffer);
          uVar12 = in->len;
          goto LAB_0003ab34;
        }
        if (iVar9 == 0x26) {
          uVar14 = uVar15 + 2;
          sb_add_char(out,0x5c);
          sb_add_char(out,0x26);
          uVar12 = in->len;
          goto LAB_0003ab34;
        }
        if (*(int *)(puVar4 + -0xe10) != 0) {
          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);
          if ((uVar2 & 0x8c) != 0) {
            if ((uVar2 & 4) == 0) {
              if ((uVar2 & 0x80) == 0) {
                iVar9 = iVar9 + -0x57;
              }
              else {
                iVar9 = iVar9 + -0x37;
              }
            }
            else {
              iVar9 = iVar9 + -0x30;
            }
            uVar14 = uVar15 + 2;
            if (formals == (formal_entry *)0x0) goto LAB_0003afec;
            pfVar11 = formals;
            if (formals->index != iVar9 + -1) goto LAB_0003afe0;
            sVar16 = (formals->actual).len;
            goto LAB_0003b130;
          }
        }
      }
      sb_reset(&t);
      uVar18 = 0;
      uVar7 = 0x27;
      goto LAB_0003ad4c;
    }
    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {
      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&
         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||
          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {
        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||
            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),
            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {
          sb_reset(&t);
          uVar7 = 0x27;
          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))
          goto LAB_0003ae48;
        }
        else {
          if (!bVar3) {
                    /* WARNING: Subroutine does not return */
            sb_skip_white(uVar14,in);
          }
          sb_reset(&t);
          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {
LAB_0003ae48:
            uVar7 = 0x27;
          }
          else {
            uVar7 = 0x40;
          }
        }
        uVar18 = 1;
        uVar14 = uVar15;
        goto LAB_0003ad4c;
      }
      if (sVar16 != 0x22) {
        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;
        if (sVar16 != 0x27) {
          if (sVar16 == 0x40) {
            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
            goto joined_r0x0003aec8;
          }
          if (sVar16 != 0x3d) goto LAB_0003ab98;
          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;
          sb_reset(&t);
          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);
          pcVar17 = sb_terminate(&t);
          pvVar8 = hash_find(formal_hash,pcVar17);
          if (pvVar8 == (void *)0x0) {
            pcVar13 = (char *)0x0;
            sb_add_char(out,0x3d);
            sb_add_char(out,0x3d);
            sb_add_sb(out,&t);
            uVar12 = in->len;
          }
          else if (*(int *)((int)pvVar8 + 0x20) == 0) {
            sb_add_char(out,0x30);
            uVar12 = in->len;
          }
          else {
            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);
            uVar12 = in->len;
          }
          goto LAB_0003ab34;
        }
      }
LAB_0003ae70:
      uVar14 = uVar15 + 1;
      bVar3 = (bool)(bVar3 ^ 1);
      sb_add_char(out,sVar16);
      uVar12 = in->len;
      goto LAB_0003ab34;
    }
    if (sVar16 == 0x22) goto LAB_0003ae70;
LAB_0003ab8c:
    if (sVar16 == 0x40) {
      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
joined_r0x0003aec8:
      if (iVar9 != 0) goto LAB_0003aed0;
    }
    else {
LAB_0003ab98:
      if (sVar16 == 10) {
        local_54 = local_54 + 1;
      }
    }
LAB_0003abb0:
    uVar15 = uVar15 + 1;
    sb_add_char(out,sVar16);
    uVar12 = in->len;
    if (uVar12 <= uVar15) goto LAB_0003abd4;
  } while( true );
joined_r0x0003b040:
  if ((int)cVar1 == 0x29) goto LAB_0003b114;
  uVar14 = uVar14 + 1;
  sb_add_char(out,(int)cVar1);
  uVar12 = in->len;
  if (uVar12 <= uVar14) goto LAB_0003b084;
  cVar1 = in->ptr[uVar14];
  goto joined_r0x0003b040;
LAB_0003b114:
  uVar14 = uVar14 + 1;
  goto LAB_0003ab34;
LAB_0003b084:
  if (macro == (macro_entry *)0x0) {
    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    uVar12 = in->len;
  }
  else {
    uVar12 = macro->line;
    file = macro->file;
    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    as_bad_where(file,local_54 + uVar12,pcVar17);
    uVar12 = in->len;
  }
  goto LAB_0003ab34;
  while (pfVar11->index != iVar9 + -1) {
LAB_0003afe0:
    pfVar11 = pfVar11->next;
    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;
  }
  sVar16 = (pfVar11->actual).len;
LAB_0003b130:
  if (sVar16 == 0) {
    sb_add_sb(out,&pfVar11->def);
    uVar12 = in->len;
  }
  else {
    sb_add_sb(out,&pfVar11->actual);
    uVar12 = in->len;
  }
  goto LAB_0003ab34;
LAB_0003afec:
  pcVar13 = (char *)0x0;
  goto LAB_0003ab34;
LAB_0003aed0:
  uVar14 = uVar15 + 1;
  if ((uVar14 < uVar12) && (pcVar17[uVar14] == '@')) {
    uVar14 = uVar15 + 2;
    sb_add_char(out,0x40);
    uVar12 = in->len;
  }
  goto LAB_0003ab34;
}



/* WARNING: Type propagation algorithm not settling */

int FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)

{
  code cVar1;
  ushort uVar2;
  undefined *puVar3;
  undefined4 uVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  code *pcVar8;
  code *pcVar9;
  int *piVar10;
  undefined1 *puVar11;
  code *pcVar12;
  int iVar13;
  code *pcVar14;
  undefined4 uVar15;
  int iVar16;
  undefined4 uVar17;
  undefined1 auStack_80 [20];
  undefined1 auStack_6c [12];
  undefined *local_60;
  uint local_5c;
  code *local_58;
  int local_54;
  code *local_50;
  code *local_4c;
  code *local_48;
  undefined *local_44;
  int *local_40;
  undefined *local_3c;
  undefined *local_38;
  undefined1 *local_34;
  undefined1 *local_30;
  int local_2c;
  
  local_60 = PTR_mips_opcodes_000b5cd0;
  sb_new(auStack_6c);
  pcVar9 = (code *)param_1[1];
  local_54 = 0;
  local_5c = 0;
  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);
  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);
  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);
  piVar5 = (int *)0x0;
  puVar11 = auStack_6c;
  iVar6 = 0;
  pcVar8 = (code *)0x0;
LAB_0003ab34:
  pcVar12 = pcVar8;
  if (pcVar9 <= pcVar8) {
LAB_0003abd4:
    sb_kill(puVar11);
    while (piVar5 != (int *)0x0) {
      piVar10 = (int *)*piVar5;
      uVar4 = sb_terminate(piVar5 + 1);
      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);
      FUN_0003a5a8(piVar5);
      piVar5 = piVar10;
    }
    return iVar6;
  }
LAB_0003ab40:
  if (iVar6 != 0) goto LAB_0003abd4;
  iVar16 = *param_1;
  pcVar8 = pcVar12 + iVar16;
  iVar13 = (int)(char)*pcVar8;
  if (iVar13 == 0x26) {
    pcVar8 = pcVar12 + 1;
    sb_reset(puVar11);
    if (*(int *)(local_60 + -0xe10) == 0) {
      uVar17 = 0;
      uVar4 = 0x26;
LAB_0003ad4c:
      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);
LAB_0003ad60:
      pcVar9 = (code *)param_1[1];
    }
    else {
      if (pcVar8 < (code *)param_1[1]) {
        iVar13 = *param_1;
        if (pcVar8[iVar13] == (code)0x26) {
          uVar17 = 1;
          uVar4 = 0x27;
          pcVar8 = pcVar12 + 2;
          goto LAB_0003ad4c;
        }
      }
      else {
        iVar13 = *param_1;
      }
      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);
      pcVar9 = (code *)param_1[1];
    }
    goto LAB_0003ab34;
  }
  if (iVar13 == 0x5c) {
    pcVar8 = pcVar12 + 1;
    if (pcVar8 < pcVar9) {
      iVar13 = (int)(char)pcVar8[iVar16];
      if (iVar13 == 0x28) {
        pcVar8 = pcVar12 + 2;
        if (pcVar9 <= pcVar8) goto LAB_0003b084;
        cVar1 = pcVar8[iVar16];
        goto joined_r0x0003b040;
      }
      if (iVar13 == 0x40) {
        pcVar8 = pcVar12 + 2;
        (*(code *)PTR_sprintf_000b65a0)
                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,
                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));
        sb_add_string(param_2,auStack_80);
        pcVar9 = (code *)param_1[1];
        goto LAB_0003ab34;
      }
      if (iVar13 == 0x26) {
        pcVar8 = pcVar12 + 2;
        sb_add_char(param_2,0x5c);
        sb_add_char(param_2,0x26);
        pcVar9 = (code *)param_1[1];
        goto LAB_0003ab34;
      }
      if (*(int *)(local_60 + -0xe10) != 0) {
        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);
        if ((uVar2 & 0x8c) != 0) {
          if ((uVar2 & 4) == 0) {
            if ((uVar2 & 0x80) == 0) {
              iVar13 = iVar13 + -0x57;
            }
            else {
              iVar13 = iVar13 + -0x37;
            }
          }
          else {
            iVar13 = iVar13 + -0x30;
          }
          pcVar8 = pcVar12 + 2;
          if (param_3 == (int *)0x0) goto LAB_0003afec;
          piVar10 = param_3;
          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;
          iVar13 = param_3[8];
          goto LAB_0003b130;
        }
      }
    }
    sb_reset(puVar11);
    uVar17 = 0;
    uVar4 = 0x27;
    goto LAB_0003ad4c;
  }
  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {
    if (iVar13 != 0x22) {
LAB_0003ab8c:
      if (iVar13 == 0x40) {
        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
joined_r0x0003b104:
        if (iVar7 != 0) goto LAB_0003aed0;
      }
      else {
LAB_0003ab98:
        if (iVar13 == 10) {
          local_54 = local_54 + 1;
        }
      }
LAB_0003abb0:
      pcVar12 = pcVar12 + 1;
      sb_add_char(param_2,iVar13);
      pcVar9 = (code *)param_1[1];
      if (pcVar9 <= pcVar12) goto LAB_0003abd4;
      goto LAB_0003ab40;
    }
  }
  else {
    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&
       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||
        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {
      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||
          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),
          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {
        sb_reset(puVar11);
        uVar4 = 0x27;
        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {
LAB_0003ae48:
          uVar4 = 0x27;
        }
LAB_0003ae50:
        uVar17 = 1;
        pcVar8 = pcVar12;
        goto LAB_0003ad4c;
      }
      if (local_5c != 0) {
        sb_reset(puVar11);
        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;
        uVar4 = 0x40;
        goto LAB_0003ae50;
      }
      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);
      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;
      local_3c = PTR_mips_opcodes_000b5cd0;
      local_34 = auStack_80;
      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);
      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;
      local_38 = PTR_LAB_000b5cb8 + 0x6d44;
      local_40 = piVar5;
      local_30 = puVar11;
      local_2c = iVar6;
      goto LAB_0003b314;
    }
    if (iVar13 != 0x22) {
      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;
      if (iVar13 == 0x27) goto LAB_0003ae70;
      if (iVar13 == 0x40) {
        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
        goto joined_r0x0003b104;
      }
      if (iVar13 != 0x3d) goto LAB_0003ab98;
      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;
      sb_reset(puVar11);
      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);
      uVar4 = sb_terminate(puVar11);
      iVar13 = hash_find(param_4,uVar4);
      if (iVar13 == 0) {
        sb_add_char(param_2,0x3d);
        sb_add_char(param_2,0x3d);
        sb_add_sb(param_2,puVar11);
        pcVar9 = (code *)param_1[1];
        iVar6 = 0;
      }
      else if (*(int *)(iVar13 + 0x20) == 0) {
        sb_add_char(param_2,0x30);
        pcVar9 = (code *)param_1[1];
      }
      else {
        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);
        pcVar9 = (code *)param_1[1];
      }
      goto LAB_0003ab34;
    }
  }
LAB_0003ae70:
  local_50 = pcVar12 + 1;
  local_5c = local_5c ^ 1;
  sb_add_char(param_2,iVar13);
  pcVar9 = (code *)param_1[1];
  pcVar8 = local_50;
  goto LAB_0003ab34;
joined_r0x0003b040:
  if (cVar1 == (code)0x29) goto LAB_0003b114;
  pcVar8 = pcVar8 + 1;
  sb_add_char(param_2);
  pcVar9 = (code *)param_1[1];
  if (pcVar9 <= pcVar8) goto LAB_0003b084;
  cVar1 = pcVar8[*param_1];
  goto joined_r0x0003b040;
LAB_0003b084:
  if (param_5 == 0) {
    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    pcVar9 = (code *)param_1[1];
  }
  else {
    uVar17 = *(undefined4 *)(param_5 + 0x1c);
    iVar13 = local_54 + *(int *)(param_5 + 0x20);
    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    as_bad_where(uVar17,iVar13,uVar4);
    pcVar9 = (code *)param_1[1];
  }
  goto LAB_0003ab34;
LAB_0003b114:
  pcVar8 = pcVar8 + 1;
  goto LAB_0003ab34;
  while (piVar10[10] != iVar13 + -1) {
LAB_0003afe0:
    piVar10 = (int *)*piVar10;
    if (piVar10 == (int *)0x0) goto LAB_0003afec;
  }
  iVar13 = piVar10[8];
LAB_0003b130:
  if (iVar13 == 0) {
    sb_add_sb(param_2,piVar10 + 4);
    pcVar9 = (code *)param_1[1];
  }
  else {
    sb_add_sb(param_2,piVar10 + 7);
    pcVar9 = (code *)param_1[1];
  }
  goto LAB_0003ab34;
LAB_0003afec:
  iVar6 = 0;
  goto LAB_0003ab34;
LAB_0003b314:
  do {
    piVar5 = (int *)(*local_50)();
    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);
    uVar4 = sb_terminate(piVar5 + 1);
    iVar6 = hash_find(param_4,uVar4);
    puVar11 = local_34;
    puVar3 = PTR_sprintf_000b65a0;
    if (iVar6 == 0) {
      iVar6 = *(int *)(local_3c + -0xe20);
      *piVar5 = (int)local_40;
      piVar5[10] = -3;
      *(int *)(local_3c + -0xe20) = iVar6 + 1;
      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);
      sb_add_string(piVar5 + 7,puVar11);
      iVar6 = hash_jam(param_4,uVar4,piVar5);
      local_40 = piVar5;
      if (iVar6 != 0) {
        pcVar9 = (code *)param_1[1];
        puVar11 = local_30;
        goto LAB_0003ab34;
      }
    }
    else {
      uVar15 = *(undefined4 *)(param_5 + 0x1c);
      iVar6 = local_54 + *(int *)(param_5 + 0x20);
      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);
      as_bad_where(uVar15,iVar6,uVar17,uVar4);
      (*local_48)(piVar5);
    }
    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);
  } while (pcVar8[*param_1] != (code)0xa);
  pcVar9 = (code *)param_1[1];
  piVar5 = local_40;
  puVar11 = local_30;
  iVar6 = local_2c;
  goto LAB_0003ab34;
LAB_0003aed0:
  pcVar8 = pcVar12 + 1;
  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {
    sb_add_char(param_2,0x40);
    pcVar9 = (code *)param_1[1];
    pcVar8 = pcVar12 + 2;
  }
  goto LAB_0003ab34;
}


lui gp,0x8
addiu gp,gp,0x31f0
addu gp,gp,t9
addiu sp,sp,-0xa8
lw v0,-0x7fb0(gp)
lw t9,-0x7b58(gp)
sw s3,0x8c(sp)
addiu s3,sp,0x3c
sw gp,0x20(sp)
sw s6,0x98(sp)
or s6,zero,zero
sw s5,0x94(sp)
or s5,a1,zero
sw s4,0x90(sp)
or s4,zero,zero
sw s2,0x88(sp)
or s2,a3,zero
sw s1,0x84(sp)
or s1,a0,zero
sw s0,0x80(sp)
or a0,s3,zero
sw v0,0x48(sp)
or s0,zero,zero
sw a2,0xb0(sp)
sw ra,0xa4(sp)
sw s8,0xa0(sp)
bal 0x0004a17c
_sw s7,0x9c(sp)
lw gp,0x20(sp)
lw a2,0x4(s1)
sw zero,0x54(sp)
sw zero,0x4c(sp)
lw v0,-0x7b60(gp)
addiu v0,v0,-0x5960
sw v0,0x5c(sp)
lw v0,-0x7b60(gp)
addiu v0,v0,-0x5814
sw v0,0x50(sp)
lw v0,-0x7b60(gp)
addiu v0,v0,-0x5a58
sw v0,0x60(sp)
sltu v0,s6,a2
beq v0,zero,0x0003abd4
_lw t9,-0x7b78(gp)
bne s4,zero,0x0003abd0
_li v0,0x26
lw s8,0x0(s1)
addu a0,s8,s6
lb s7,0x0(a0)
beq s7,v0,0x0003ad68
_li v1,0x5c
beq s7,v1,0x0003acc4
_nop
lw v0,0x48(sp)
lw v1,-0xe10(v0)
lw v0,-0x7fb0(gp)
lw v0,-0xe0c(v0)
or v0,v1,v0
bne v0,zero,0x0003ac60
_andi a1,s7,0xff
li v1,0x22
beq s7,v1,0x0003ae70
_addiu v0,s6,0x1
li v1,0x40
beq s7,v1,0x0003aec4
_lw v1,-0x7fb0(gp)
or s6,v0,zero
li v0,0xa
bne s7,v0,0x0003abb0
_lw v0,0x54(sp)
addiu v0,v0,0x1
sw v0,0x54(sp)
lw t9,-0x7b84(gp)
or a1,s7,zero
bal 0x0004a30c
_or a0,s5,zero
lw a2,0x4(s1)
sltu v0,s6,a2
bne v0,zero,0x0003ab40
_lw gp,0x20(sp)
lw t9,-0x7b78(gp)
bal 0x0004a1c8
_or a0,s3,zero
beq s0,zero,0x0003ac2c
_lw gp,0x20(sp)
lw s3,-0x7b60(gp)
addiu s3,s3,-0x5a58
lw t9,-0x7fc4(gp)
addiu a0,s0,0x4
bal 0x0004a48c
_lw s1,0x0(s0)
or a0,s2,zero
lw gp,0x20(sp)
sltiu a2,s1,0x1
lw t9,-0x7b4c(gp)
bal 0x0003602c
_or a1,v0,zero
or t9,s3,zero
bal 0x0003a5a8
_or a0,s0,zero
or s0,s1,zero
bne s1,zero,0x0003abec
_lw gp,0x20(sp)
lw ra,0xa4(sp)
or v0,s4,zero
lw s8,0xa0(sp)
lw s7,0x9c(sp)
lw s6,0x98(sp)
lw s5,0x94(sp)
lw s4,0x90(sp)
lw s3,0x8c(sp)
lw s2,0x88(sp)
lw s1,0x84(sp)
lw s0,0x80(sp)
jr ra
_addiu sp,sp,0xa8
lw v0,-0x7de4(gp)
addu v0,v0,a1
lbu v0,0x0(v0)
andi v0,v0,0x2
bne v0,zero,0x0003add0
_nop
li a0,0x22
beq s7,a0,0x0003ae70
_addiu v0,s6,0x1
beq v1,zero,0x0003ab8c
_li v1,0x27
beq s7,v1,0x0003ae70
_li v1,0x40
beq s7,v1,0x0003b0fc
_li v1,0x3d
bne s7,v1,0x0003ab98
_sltu a2,v0,a2
beq a2,zero,0x0003acbc
_nop
addu s8,s8,v0
lb v1,0x0(s8)
beq v1,s7,0x0003b18c
_lw t9,-0x7b48(gp)
b 0x0003abb0
_or s6,v0,zero
addiu s7,s6,0x1
sltu v1,s7,a2
beq v1,zero,0x0003ad24
_lw t9,-0x7b48(gp)
addu v1,s8,s7
li a0,0x28
lb v1,0x0(v1)
beq v1,a0,0x0003b028
_li a0,0x40
beq v1,a0,0x0003af64
_lw a1,-0x7e34(gp)
beq v1,v0,0x0003aff4
_lw v0,0x48(sp)
lw v0,-0xe10(v0)
beq v0,zero,0x0003ad24
_andi v0,v1,0xff
sll a0,v0,0x1
lw v0,-0x756c(gp)
addu v0,v0,a0
lhu v0,0x0(v0)
andi a0,v0,0x8c
bne a0,zero,0x0003afa4
_andi a0,v0,0x4
lw t9,-0x7b48(gp)
bal 0x0004a304
_or a0,s3,zero
li v0,0x27
sw zero,0x18(sp)
or a3,s2,zero
sw s5,0x14(sp)
or a2,s3,zero
sw v0,0x10(sp)
or a1,s1,zero
or a0,s7,zero
lw t9,0x50(sp)
jalr t9
_nop
lw gp,0x20(sp)
or s6,v0,zero
b 0x0003ab34
_lw a2,0x4(s1)
lw t9,-0x7b48(gp)
or a0,s3,zero
bal 0x0004a304
_addiu s8,s6,0x1
lw v0,0x48(sp)
lw v0,-0xe10(v0)
beq v0,zero,0x0003aea4
_lw gp,0x20(sp)
lw v0,0x4(s1)
sltu v0,s8,v0
beq v0,zero,0x0003af5c
_nop
lw v0,0x0(s1)
addu v1,v0,s8
lb v1,0x0(v1)
beq v1,s7,0x0003b0d8
_addiu a0,s6,0x2
addu s6,v0,s6
lw t9,-0x7b84(gp)
or a0,s5,zero
lb a1,0x0(s6)
bal 0x0004a30c
_or s6,s8,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
lw v0,0x4c(sp)
beq v0,zero,0x0003adec
_lw v0,0xb8(sp)
lw v0,-0x7fb0(gp)
lw v0,-0xe14(v0)
bne v0,zero,0x0003aef0
_lw v0,0xb8(sp)
beq v0,zero,0x0003ae20
_lw t9,-0x7b48(gp)
addiu s7,s6,0x5
sltu a2,s7,a2
beq a2,zero,0x0003ae20
_lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7668(gp)
jalr t9
_addiu a1,a1,0x6d3c
beq v0,zero,0x0003af10
_lw gp,0x20(sp)
lw t9,-0x7b48(gp)
bal 0x0004a304
_or a0,s3,zero
lw gp,0x20(sp)
lw v0,-0x7fb0(gp)
lw v0,-0xe14(v0)
beq v0,zero,0x0003ae4c
_li v0,0x27
lw v0,0x4c(sp)
bne v0,zero,0x0003ae4c
_li v0,0x40
li v0,0x27
sw v0,0x10(sp)
li v0,0x1
sw s5,0x14(sp)
or a0,s6,zero
sw v0,0x18(sp)
or a3,s2,zero
or a2,s3,zero
b 0x0003ad4c
_or a1,s1,zero
lw t9,-0x7b84(gp)
or a1,s7,zero
sw v0,0x58(sp)
or a0,s5,zero
lw v0,0x4c(sp)
xori v0,v0,0x1
bal 0x0004a30c
_sw v0,0x4c(sp)
lw v0,0x58(sp)
lw gp,0x20(sp)
lw a2,0x4(s1)
b 0x0003ab34
_or s6,v0,zero
sw zero,0x18(sp)
or a3,s2,zero
sw s5,0x14(sp)
or a2,s3,zero
sw s7,0x10(sp)
or a1,s1,zero
b 0x0003ad4c
_or a0,s8,zero
lw v1,-0xe14(v1)
beq v1,zero,0x0003acbc
_sltu v1,v0,a2
beq v1,zero,0x0003aee8
_addu s8,s8,v0
li v1,0x40
lb a0,0x0(s8)
beq a0,v1,0x0003b170
_lw t9,-0x7b84(gp)
b 0x0003ab34
_or s6,v0,zero
beq s6,zero,0x0003ac78
_nop
lb a1,-0x1(a0)
li v0,0x40
bne a1,v0,0x0003ac78
_nop
b 0x0003adec
_lw v0,0xb8(sp)
addu s8,s8,s7
li v1,0x20
lb v0,0x0(s8)
beq v0,v1,0x0003af2c
_li v1,0x9
bne v0,v1,0x0003ae20
_lw t9,-0x7b48(gp)
lw v0,0x4c(sp)
beq v0,zero,0x0003b22c
_lw t9,-0x7b48(gp)
bal 0x0004a304
_or a0,s3,zero
lw gp,0x20(sp)
lw v0,-0x7fb0(gp)
lw v0,-0xe14(v0)
beq v0,zero,0x0003ae48
_li v0,0x40
b 0x0003ae50
_sw v0,0x10(sp)
b 0x0003adac
_lw v0,0x0(s1)
lw v0,-0x7fb0(gp)
addiu s7,sp,0x28
addiu s6,s6,0x2
lw t9,-0x76e0(gp)
or a0,s7,zero
lw a2,-0xe1c(v0)
jalr t9
_addiu a1,a1,-0x6960
or a1,s7,zero
lw gp,0x20(sp)
lw t9,-0x7b44(gp)
bal 0x0004a370
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
beq a0,zero,0x0003b11c
_andi v0,v0,0x80
addiu v1,v1,-0x30
lw v0,0xb0(sp)
beq v0,zero,0x0003afec
_addiu s6,s6,0x2
lw a0,0x28(v0)
addiu v0,v1,-0x1
bne a0,v0,0x0003afe0
_lw a1,0xb0(sp)
b 0x0003b130
_lw v0,0x20(a1)
lw v1,0x28(a1)
beq v1,v0,0x0003b12c
_nop
lw a1,0x0(a1)
bne a1,zero,0x0003afd4
_nop
b 0x0003ab34
_or s4,zero,zero
lw t9,-0x7b84(gp)
li a1,0x5c
or a0,s5,zero
bal 0x0004a30c
_addiu s6,s6,0x2
li a1,0x26
lw gp,0x20(sp)
lw t9,-0x7b84(gp)
bal 0x0004a30c
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
addiu s6,s6,0x2
sltu v0,s6,a2
beq v0,zero,0x0003b084
_addu s8,s8,s6
li v0,0x29
lb a1,0x0(s8)
beq a1,v0,0x0003b114
_nop
b 0x0003b064
_li s7,0x29
lw v0,0x0(s1)
addu v0,v0,s6
lb a1,0x0(v0)
beq a1,s7,0x0003b114
_nop
lw t9,-0x7b84(gp)
or a0,s5,zero
bal 0x0004a30c
_addiu s6,s6,0x1
lw a2,0x4(s1)
sltu v0,s6,a2
bne v0,zero,0x0003b050
_lw gp,0x20(sp)
lw v0,0xb8(sp)
beq v0,zero,0x0003b208
_or a0,zero,zero
li a2,0x5
lw a1,-0x7fc8(gp)
lw t9,-0x7530(gp)
lw s7,0x20(v0)
addiu a1,a1,0x6d30
lw s8,0x1c(v0)
lw v0,0x54(sp)
jalr t9
_addu s7,v0,s7
lw gp,0x20(sp)
or a2,v0,zero
or a1,s7,zero
lw t9,-0x7db0(gp)
bal 0x0003e3f0
_or a0,s8,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
li v0,0x1
sw s5,0x14(sp)
sw v0,0x18(sp)
li v0,0x27
or a3,s2,zero
sw v0,0x10(sp)
or a2,s3,zero
b 0x0003ad4c
_or a1,s1,zero
lw v1,-0x7fb0(gp)
lw v1,-0xe14(v1)
bne v1,zero,0x0003aed0
_sltu v1,v0,a2
b 0x0003abb0
_or s6,v0,zero
b 0x0003ab34
_addiu s6,s6,0x1
beq v0,zero,0x0003b150
_nop
b 0x0003afb0
_addiu v1,v1,-0x37
lw v0,0x20(a1)
beq v0,zero,0x0003b158
_lw t9,-0x7b50(gp)
addiu a1,a1,0x1c
bal 0x0004a1e0
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
b 0x0003afb0
_addiu v1,v1,-0x57
addiu a1,a1,0x10
bal 0x0004a1e0
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
li a1,0x40
or a0,s5,zero
bal 0x0004a30c
_addiu s6,s6,0x2
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
bal 0x0004a304
_or a0,s3,zero
addiu a2,s1,0x4
lw t9,0x5c(sp)
addiu a0,s6,0x2
or a1,s1,zero
jalr t9
_or a3,s3,zero
or a0,s3,zero
lw gp,0x20(sp)
lw t9,-0x7fc4(gp)
bal 0x0004a48c
_or s6,v0,zero
or a0,s2,zero
lw gp,0x20(sp)
lw t9,-0x7cac(gp)
bal 0x00035f68
_or a1,v0,zero
beq v0,zero,0x0003b43c
_lw gp,0x20(sp)
lw v0,0x20(v0)
beq v0,zero,0x0003b424
_lw t9,-0x7b84(gp)
lw a1,-0x7fc8(gp)
or a0,s5,zero
lw t9,-0x7b44(gp)
bal 0x0004a370
_addiu a1,a1,0x6d88
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7530(gp)
jalr t9
_addiu a1,a1,0x6d30
lw gp,0x20(sp)
or s4,v0,zero
b 0x0003ab34
_lw a2,0x4(s1)
lw t9,-0x7b40(gp)
or a0,s7,zero
bal 0x0004a4a4
_or a1,s1,zero
li a0,0xa
lw v1,0x0(s1)
or s6,v0,zero
addu v1,v1,v0
lb v0,0x0(v1)
beq v0,a0,0x0003ad60
_lw gp,0x20(sp)
lw v0,-0x7fb0(gp)
addiu s7,sp,0x28
sw s5,0xac(sp)
addiu s8,s1,0x4
sw s0,0x68(sp)
sw v0,0x6c(sp)
lw v0,-0x7b60(gp)
lw s5,0xb8(sp)
sw s4,0x7c(sp)
addiu v0,v0,-0x5ad0
sw s3,0x78(sp)
sw s7,0x74(sp)
sw v0,0x58(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x6d4c
sw v0,0x64(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x6d44
b 0x0003b314
_sw v0,0x70(sp)
lw v1,0x20(s5)
lw v0,0x54(sp)
lw s7,0x1c(s5)
jalr t9
_addu s0,v0,v1
lw gp,0x20(sp)
or a0,s7,zero
or a1,s0,zero
or a3,s4,zero
lw t9,-0x7db0(gp)
bal 0x0003e3f0
_or a2,v0,zero
lw t9,0x60(sp)
jalr t9
_or a0,s3,zero
lw gp,0x20(sp)
lw t9,-0x7b3c(gp)
or a0,s6,zero
bal 0x0004a4f8
_or a1,s1,zero
li a0,0xa
lw v1,0x0(s1)
or s6,v0,zero
addu v1,v1,v0
lb v0,0x0(v1)
beq v0,a0,0x0003b40c
_lw gp,0x20(sp)
lw t9,0x58(sp)
jalr t9
_nop
or a2,s8,zero
addiu s4,v0,0x4
lw t9,0x5c(sp)
or a0,s6,zero
or a3,s4,zero
or a1,s1,zero
jalr t9
_or s3,v0,zero
lw gp,0x20(sp)
or a0,s4,zero
lw t9,-0x7fc4(gp)
bal 0x0004a48c
_or s6,v0,zero
or a0,s2,zero
lw gp,0x20(sp)
or a1,v0,zero
lw t9,-0x7cac(gp)
bal 0x00035f68
_or s4,v0,zero
li a2,0x5
lw gp,0x20(sp)
or a0,zero,zero
lw a1,0x64(sp)
bne v0,zero,0x0003b2a8
_lw t9,-0x7530(gp)
lw a3,0x6c(sp)
lw v1,0x68(sp)
lw s0,0x74(sp)
lw t9,-0x76e0(gp)
lw v0,-0xe20(a3)
lw a1,0x70(sp)
or a0,s0,zero
sw v1,0x0(s3)
li v1,-0x3
addiu v0,v0,0x1
sw v1,0x28(s3)
or a2,v0,zero
jalr t9
_sw v0,-0xe20(a3)
addiu a0,s3,0x1c
lw gp,0x20(sp)
lw t9,-0x7b44(gp)
bal 0x0004a370
_or a1,s0,zero
or a2,s3,zero
lw gp,0x20(sp)
or a1,s4,zero
lw t9,-0x7ca8(gp)
bal 0x00035d80
_or a0,s2,zero
lw gp,0x20(sp)
beq v0,zero,0x0003b2e8
_sw s3,0x68(sp)
or s0,s3,zero
lw s5,0xac(sp)
lw s3,0x78(sp)
or s4,v0,zero
b 0x0003ab34
_lw a2,0x4(s1)
lw s0,0x68(sp)
lw s4,0x7c(sp)
lw s5,0xac(sp)
lw s3,0x78(sp)
b 0x0003ab34
_lw a2,0x4(s1)
li a1,0x30
bal 0x0004a30c
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
lw t9,-0x7b84(gp)
li a1,0x3d
or a0,s5,zero
bal 0x0004a30c
_or s4,zero,zero
li a1,0x3d
lw gp,0x20(sp)
lw t9,-0x7b84(gp)
bal 0x0004a30c
_or a0,s5,zero
or a1,s3,zero
lw gp,0x20(sp)
lw t9,-0x7b50(gp)
bal 0x0004a1e0
_or a0,s5,zero
lw gp,0x20(sp)
b 0x0003ab34
_lw a2,0x4(s1)
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)\n\n{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}\n\n" comment (function_definition "int FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)\n\n{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" primitive_type (function_declarator "FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" identifier (parameter_list "(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" { (declaration "code cVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined1 auStack_80 [20];" type_identifier (array_declarator "auStack_80 [20]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_6c [12];" type_identifier (array_declarator "auStack_6c [12]" identifier [ number_literal ]) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "code *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "code *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "code *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "code *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_60 = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_60 = PTR_mips_opcodes_000b5cd0" identifier = identifier) ;) (expression_statement "sb_new(auStack_6c);" (call_expression "sb_new(auStack_6c)" identifier (argument_list "(auStack_6c)" ( identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);" (assignment_expression "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5960)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5960)" ( (binary_expression "PTR_LAB_000b6120 + -0x5960" identifier + number_literal) )))) ;) (expression_statement "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);" (assignment_expression "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5814)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5814)" ( (binary_expression "PTR_LAB_000b6120 + -0x5814" identifier + number_literal) )))) ;) (expression_statement "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);" (assignment_expression "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5a58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5a58)" ( (binary_expression "PTR_LAB_000b6120 + -0x5a58" identifier + number_literal) )))) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar11 = auStack_6c;" (assignment_expression "puVar11 = auStack_6c" identifier = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)0x0;" (assignment_expression "pcVar8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003ab34:\n  pcVar12 = pcVar8;" statement_identifier : (expression_statement "pcVar12 = pcVar8;" (assignment_expression "pcVar12 = pcVar8" identifier = identifier) ;)) (if_statement "if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (compound_statement "{\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" { (labeled_statement "LAB_0003abd4:\n    sb_kill(puVar11);" statement_identifier : (expression_statement "sb_kill(puVar11);" (call_expression "sb_kill(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;)) (while_statement "while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" while (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      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" { (expression_statement "piVar10 = (int *)*piVar5;" (assignment_expression "piVar10 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" identifier = (call_expression "sb_terminate(piVar5 + 1)" identifier (argument_list "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "hash_delete(param_4,uVar4,piVar10 == (int *)0x0);" (call_expression "hash_delete(param_4,uVar4,piVar10 == (int *)0x0)" identifier (argument_list "(param_4,uVar4,piVar10 == (int *)0x0)" ( identifier , identifier , (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ;) (expression_statement "FUN_0003a5a8(piVar5);" (call_expression "FUN_0003a5a8(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "piVar5 = piVar10;" (assignment_expression "piVar5 = piVar10" identifier = identifier) ;) })) (return_statement "return iVar6;" return identifier ;) })) (labeled_statement "LAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;" statement_identifier : (if_statement "if (iVar6 != 0) goto LAB_0003abd4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;))) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pcVar8 = pcVar12 + iVar16;" (assignment_expression "pcVar8 = pcVar12 + iVar16" identifier = (binary_expression "pcVar12 + iVar16" identifier + identifier)) ;) (expression_statement "iVar13 = (int)(char)*pcVar8;" (assignment_expression "iVar13 = (int)(char)*pcVar8" identifier = (cast_expression "(int)(char)*pcVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pcVar8" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar8" * identifier)))) ;) (if_statement "if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" if (parenthesized_expression "(iVar13 == 0x26)" ( (binary_expression "iVar13 == 0x26" identifier == number_literal) )) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" { (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (if_statement "if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = 0x26;" (assignment_expression "uVar4 = 0x26" identifier = number_literal) ;) (labeled_statement "LAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" statement_identifier : (expression_statement "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" (assignment_expression "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" identifier = (cast_expression "(code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (parenthesized_expression "(*local_58)" ( (pointer_expression "*local_58" * identifier) )) (argument_list "(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))))) ;)) (labeled_statement "LAB_0003ad60:\n      pcVar9 = (code *)param_1[1];" statement_identifier : (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" else (compound_statement "{\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" { (if_statement "if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }" if (parenthesized_expression "(pcVar8 < (code *)param_1[1])" ( (binary_expression "pcVar8 < (code *)param_1[1]" identifier < (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }" { (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" if (parenthesized_expression "(pcVar8[iVar13] == (code)0x26)" ( (binary_expression "pcVar8[iVar13] == (code)0x26" (subscript_expression "pcVar8[iVar13]" identifier [ identifier ]) == (cast_expression "(code)0x26" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar13 = *param_1;\n      }" else (compound_statement "{\n        iVar13 = *param_1;\n      }" { (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) }))) (expression_statement "sb_add_char(param_2,(int)(char)pcVar12[iVar13]);" (call_expression "sb_add_char(param_2,(int)(char)pcVar12[iVar13])" identifier (argument_list "(param_2,(int)(char)pcVar12[iVar13])" ( identifier , (cast_expression "(int)(char)pcVar12[iVar13]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pcVar12[iVar13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar12[iVar13]" identifier [ identifier ]))) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" if (parenthesized_expression "(iVar13 == 0x5c)" ( (binary_expression "iVar13 == 0x5c" identifier == number_literal) )) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" { (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" if (parenthesized_expression "(pcVar8 < pcVar9)" ( (binary_expression "pcVar8 < pcVar9" identifier < identifier) )) (compound_statement "{\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" { (expression_statement "iVar13 = (int)(char)pcVar8[iVar16];" (assignment_expression "iVar13 = (int)(char)pcVar8[iVar16]" identifier = (cast_expression "(int)(char)pcVar8[iVar16]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pcVar8[iVar16]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar8[iVar16]" identifier [ identifier ])))) ;) (if_statement "if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" if (parenthesized_expression "(iVar13 == 0x28)" ( (binary_expression "iVar13 == 0x28" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = pcVar8[iVar16];" (assignment_expression "cVar1 = pcVar8[iVar16]" identifier = (subscript_expression "pcVar8[iVar16]" identifier [ identifier ])) ;) (goto_statement "goto joined_r0x0003b040;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));" (call_expression "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" (parenthesized_expression "(*(code *)PTR_sprintf_000b65a0)" ( (pointer_expression "*(code *)PTR_sprintf_000b65a0" * (cast_expression "(code *)PTR_sprintf_000b65a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" ( identifier , (binary_expression "PTR_s_operand_000b5e4c + -0x6960" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" * (cast_expression "(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe1c" identifier + number_literal) )))) ))) ;) (expression_statement "sb_add_string(param_2,auStack_80);" (call_expression "sb_add_string(param_2,auStack_80)" identifier (argument_list "(param_2,auStack_80)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar13 == 0x26)" ( (binary_expression "iVar13 == 0x26" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (expression_statement "sb_add_char(param_2,0x5c);" (call_expression "sb_add_char(param_2,0x5c)" identifier (argument_list "(param_2,0x5c)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(param_2,0x26);" (call_expression "sb_add_char(param_2,0x26)" identifier (argument_list "(param_2,0x26)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) != 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) != 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" { (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" ( (binary_expression "PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2" identifier + (binary_expression "(uint)(byte)pcVar8[iVar16] * 2" (cast_expression "(uint)(byte)pcVar8[iVar16]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar8[iVar16]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar8[iVar16]" identifier [ identifier ]))) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" if (parenthesized_expression "((uVar2 & 0x8c) != 0)" ( (binary_expression "(uVar2 & 0x8c) != 0" (parenthesized_expression "(uVar2 & 0x8c)" ( (binary_expression "uVar2 & 0x8c" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" { (if_statement "if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }" if (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }" { (if_statement "if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }" if (parenthesized_expression "((uVar2 & 0x80) == 0)" ( (binary_expression "(uVar2 & 0x80) == 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar13 = iVar13 + -0x57;\n            }" { (expression_statement "iVar13 = iVar13 + -0x57;" (assignment_expression "iVar13 = iVar13 + -0x57" identifier = (binary_expression "iVar13 + -0x57" identifier + number_literal)) ;) }) (else_clause "else {\n              iVar13 = iVar13 + -0x37;\n            }" else (compound_statement "{\n              iVar13 = iVar13 + -0x37;\n            }" { (expression_statement "iVar13 = iVar13 + -0x37;" (assignment_expression "iVar13 = iVar13 + -0x37" identifier = (binary_expression "iVar13 + -0x37" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            iVar13 = iVar13 + -0x30;\n          }" else (compound_statement "{\n            iVar13 = iVar13 + -0x30;\n          }" { (expression_statement "iVar13 = iVar13 + -0x30;" (assignment_expression "iVar13 = iVar13 + -0x30" identifier = (binary_expression "iVar13 + -0x30" identifier + number_literal)) ;) }))) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (if_statement "if (param_3 == (int *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) (expression_statement "piVar10 = param_3;" (assignment_expression "piVar10 = param_3" identifier = identifier) ;) (if_statement "if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;" if (parenthesized_expression "(param_3[10] != iVar13 + -1)" ( (binary_expression "param_3[10] != iVar13 + -1" (subscript_expression "param_3[10]" identifier [ number_literal ]) != (binary_expression "iVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_0003afe0;" goto statement_identifier ;)) (expression_statement "iVar13 = param_3[8];" (assignment_expression "iVar13 = param_3[8]" identifier = (subscript_expression "param_3[8]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003b130;" goto statement_identifier ;) })) })) })) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe0c" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }" { (if_statement "if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" if (parenthesized_expression "(iVar13 != 0x22)" ( (binary_expression "iVar13 != 0x22" identifier != number_literal) )) (compound_statement "{\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" { (labeled_statement "LAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" statement_identifier : (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }" { (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;" statement_identifier : (if_statement "if (iVar7 != 0) goto LAB_0003aed0;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003aed0;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" else (compound_statement "{\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" { (labeled_statement "LAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" statement_identifier : (if_statement "if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" if (parenthesized_expression "(iVar13 == 10)" ( (binary_expression "iVar13 == 10" identifier == number_literal) )) (compound_statement "{\n          local_54 = local_54 + 1;\n        }" { (expression_statement "local_54 = local_54 + 1;" (assignment_expression "local_54 = local_54 + 1" identifier = (binary_expression "local_54 + 1" identifier + number_literal)) ;) }))) })))) (labeled_statement "LAB_0003abb0:\n      pcVar12 = pcVar12 + 1;" statement_identifier : (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" identifier (argument_list "(param_2,iVar13)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar9 <= pcVar12) goto LAB_0003abd4;" if (parenthesized_expression "(pcVar9 <= pcVar12)" ( (binary_expression "pcVar9 <= pcVar12" identifier <= identifier) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;)) (goto_statement "goto LAB_0003ab40;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" else (compound_statement "{\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" { (if_statement "if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" if (parenthesized_expression "(((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))))" ( (binary_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" (parenthesized_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0)" ( (binary_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0" (parenthesized_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2)" ( (binary_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2" (subscript_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8]" identifier [ (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" ( (parenthesized_expression "((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))" ( (binary_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" (parenthesized_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0))" ( (binary_expression "local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (binary_expression "local_5c == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" ( (parenthesized_expression "(pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))" ( (binary_expression "pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)" (binary_expression "pcVar12 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pcVar8[-1] == (code)0x40)" ( (binary_expression "pcVar8[-1] == (code)0x40" (subscript_expression "pcVar8[-1]" identifier [ number_literal ]) == (cast_expression "(code)0x40" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) ))) )) (compound_statement "{\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" { (if_statement "if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" if (parenthesized_expression "((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))))" ( (binary_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" (parenthesized_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0))" ( (binary_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" (parenthesized_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14))" ( (binary_expression "(param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" ( (comma_expression "pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14" (assignment_expression "pcVar14 = pcVar12 + 5" identifier = (binary_expression "pcVar12 + 5" identifier + number_literal)) , (binary_expression "pcVar9 <= pcVar14" identifier <= identifier)) ))) )) || (parenthesized_expression "(iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000b6618)" ( (pointer_expression "*(code *)PTR_strncasecmp_000b6618" * (cast_expression "(code *)PTR_strncasecmp_000b6618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d3c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" ( (parenthesized_expression "(pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))" ( (binary_expression "pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)" (binary_expression "pcVar14[iVar16] != (code)0x20" (subscript_expression "pcVar14[iVar16]" identifier [ identifier ]) != (cast_expression "(code)0x20" ( (type_descriptor "code" type_identifier) ) number_literal)) && (parenthesized_expression "(pcVar14[iVar16] != (code)0x9)" ( (binary_expression "pcVar14[iVar16] != (code)0x9" (subscript_expression "pcVar14[iVar16]" identifier [ identifier ]) != (cast_expression "(code)0x9" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) (compound_statement "{\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" { (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (if_statement "if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" if (parenthesized_expression "((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0))" ( (binary_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)" (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(uVar4 = 0x40, local_5c == 0)" ( (comma_expression "uVar4 = 0x40, local_5c == 0" (assignment_expression "uVar4 = 0x40" identifier = number_literal) , (binary_expression "local_5c == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" { (labeled_statement "LAB_0003ae48:\n          uVar4 = 0x27;" statement_identifier : (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;)) })) (labeled_statement "LAB_0003ae50:\n        uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (expression_statement "pcVar8 = pcVar12;" (assignment_expression "pcVar8 = pcVar12" identifier = identifier) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (compound_statement "{\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" { (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (if_statement "if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;" if (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003ae48;" goto statement_identifier ;)) (expression_statement "uVar4 = 0x40;" (assignment_expression "uVar4 = 0x40" identifier = number_literal) ;) (goto_statement "goto LAB_0003ae50;" goto statement_identifier ;) })) (expression_statement "pcVar8 = (code *)sb_skip_white(pcVar14,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_white(pcVar14,param_1)" identifier = (cast_expression "(code *)sb_skip_white(pcVar14,param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sb_skip_white(pcVar14,param_1)" identifier (argument_list "(pcVar14,param_1)" ( identifier , identifier ))))) ;) (if_statement "if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;" if (parenthesized_expression "(pcVar8[*param_1] == (code)0xa)" ( (binary_expression "pcVar8[*param_1] == (code)0xa" (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ]) == (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0003ad60;" goto statement_identifier ;)) (expression_statement "local_3c = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_3c = PTR_mips_opcodes_000b5cd0" identifier = identifier) ;) (expression_statement "local_34 = auStack_80;" (assignment_expression "local_34 = auStack_80" identifier = identifier) ;) (expression_statement "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);" (assignment_expression "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5ad0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5ad0)" ( (binary_expression "PTR_LAB_000b6120 + -0x5ad0" identifier + number_literal) )))) ;) (expression_statement "local_44 = PTR_LAB_000b5cb8 + 0x6d4c;" (assignment_expression "local_44 = PTR_LAB_000b5cb8 + 0x6d4c" identifier = (binary_expression "PTR_LAB_000b5cb8 + 0x6d4c" identifier + number_literal)) ;) (expression_statement "local_38 = PTR_LAB_000b5cb8 + 0x6d44;" (assignment_expression "local_38 = PTR_LAB_000b5cb8 + 0x6d44" identifier = (binary_expression "PTR_LAB_000b5cb8 + 0x6d44" identifier + number_literal)) ;) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" identifier = identifier) ;) (expression_statement "local_30 = puVar11;" (assignment_expression "local_30 = puVar11" identifier = identifier) ;) (expression_statement "local_2c = iVar6;" (assignment_expression "local_2c = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_0003b314;" goto statement_identifier ;) })) (if_statement "if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" if (parenthesized_expression "(iVar13 != 0x22)" ( (binary_expression "iVar13 != 0x22" identifier != number_literal) )) (compound_statement "{\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" { (if_statement "if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003ab8c;" goto statement_identifier ;)) (if_statement "if (iVar13 == 0x27) goto LAB_0003ae70;" if (parenthesized_expression "(iVar13 == 0x27)" ( (binary_expression "iVar13 == 0x27" identifier == number_literal) )) (goto_statement "goto LAB_0003ae70;" goto statement_identifier ;)) (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" { (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0003b104;" goto statement_identifier ;) })) (if_statement "if (iVar13 != 0x3d) goto LAB_0003ab98;" if (parenthesized_expression "(iVar13 != 0x3d)" ( (binary_expression "iVar13 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003ab98;" goto statement_identifier ;)) (if_statement "if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;" if (parenthesized_expression "((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d))" ( (binary_expression "(pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)" (parenthesized_expression "(pcVar9 <= pcVar12 + 1)" ( (binary_expression "pcVar9 <= pcVar12 + 1" identifier <= (binary_expression "pcVar12 + 1" identifier + number_literal)) )) || (parenthesized_expression "((pcVar12 + 1)[iVar16] != (code)0x3d)" ( (binary_expression "(pcVar12 + 1)[iVar16] != (code)0x3d" (subscript_expression "(pcVar12 + 1)[iVar16]" (parenthesized_expression "(pcVar12 + 1)" ( (binary_expression "pcVar12 + 1" identifier + number_literal) )) [ identifier ]) != (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0003abb0;" goto statement_identifier ;)) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" identifier = (cast_expression "(code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (parenthesized_expression "(*local_4c)" ( (pointer_expression "*local_4c" * identifier) )) (argument_list "(pcVar12 + 2,param_1,param_1 + 1,puVar11)" ( (binary_expression "pcVar12 + 2" identifier + number_literal) , identifier , (binary_expression "param_1 + 1" identifier + number_literal) , identifier ))))) ;) (expression_statement "uVar4 = sb_terminate(puVar11);" (assignment_expression "uVar4 = sb_terminate(puVar11)" identifier = (call_expression "sb_terminate(puVar11)" identifier (argument_list "(puVar11)" ( identifier )))) ;) (expression_statement "iVar13 = hash_find(param_4,uVar4);" (assignment_expression "iVar13 = hash_find(param_4,uVar4)" identifier = (call_expression "hash_find(param_4,uVar4)" identifier (argument_list "(param_4,uVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }" { (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_sb(param_2,puVar11);" (call_expression "sb_add_sb(param_2,puVar11)" identifier (argument_list "(param_2,puVar11)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" else (if_statement "if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" if (parenthesized_expression "(*(int *)(iVar13 + 0x20) == 0)" ( (binary_expression "*(int *)(iVar13 + 0x20) == 0" (pointer_expression "*(int *)(iVar13 + 0x20)" * (cast_expression "(int *)(iVar13 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }" { (expression_statement "sb_add_char(param_2,0x30);" (call_expression "sb_add_char(param_2,0x30)" identifier (argument_list "(param_2,0x30)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" else (compound_statement "{\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" { (expression_statement "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);" (call_expression "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88)" identifier (argument_list "(param_2,PTR_LAB_000b5cb8 + 0x6d88)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d88" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }))))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0003ae70:\n  local_50 = pcVar12 + 1;" statement_identifier : (expression_statement "local_50 = pcVar12 + 1;" (assignment_expression "local_50 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (expression_statement "local_5c = local_5c ^ 1;" (assignment_expression "local_5c = local_5c ^ 1" identifier = (binary_expression "local_5c ^ 1" identifier ^ number_literal)) ;) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" identifier (argument_list "(param_2,iVar13)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar8 = local_50;" (assignment_expression "pcVar8 = local_50" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "joined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;" statement_identifier : (if_statement "if (cVar1 == (code)0x29) goto LAB_0003b114;" if (parenthesized_expression "(cVar1 == (code)0x29)" ( (binary_expression "cVar1 == (code)0x29" identifier == (cast_expression "(code)0x29" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0003b114;" goto statement_identifier ;))) (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "sb_add_char(param_2);" (call_expression "sb_add_char(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = pcVar8[*param_1];" (assignment_expression "cVar1 = pcVar8[*param_1]" identifier = (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ])) ;) (goto_statement "goto joined_r0x0003b040;" goto statement_identifier ;) (labeled_statement "LAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" statement_identifier : (if_statement "if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" else (compound_statement "{\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "uVar17 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar17 = *(undefined4 *)(param_5 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" * (cast_expression "(undefined4 *)(param_5 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar13 = local_54 + *(int *)(param_5 + 0x20)" identifier = (binary_expression "local_54 + *(int *)(param_5 + 0x20)" identifier + (pointer_expression "*(int *)(param_5 + 0x20)" * (cast_expression "(int *)(param_5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x20)" ( (binary_expression "param_5 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal )))) ;) (expression_statement "as_bad_where(uVar17,iVar13,uVar4);" (call_expression "as_bad_where(uVar17,iVar13,uVar4)" identifier (argument_list "(uVar17,iVar13,uVar4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003b114:\n  pcVar8 = pcVar8 + 1;" statement_identifier : (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (while_statement "while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" while (parenthesized_expression "(piVar10[10] != iVar13 + -1)" ( (binary_expression "piVar10[10] != iVar13 + -1" (subscript_expression "piVar10[10]" identifier [ number_literal ]) != (binary_expression "iVar13 + -1" identifier + number_literal)) )) (compound_statement "{\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" { (labeled_statement "LAB_0003afe0:\n    piVar10 = (int *)*piVar10;" statement_identifier : (expression_statement "piVar10 = (int *)*piVar10;" (assignment_expression "piVar10 = (int *)*piVar10" identifier = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;)) (if_statement "if (piVar10 == (int *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) })) (expression_statement "iVar13 = piVar10[8];" (assignment_expression "iVar13 = piVar10[8]" identifier = (subscript_expression "piVar10[8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" statement_identifier : (if_statement "if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "sb_add_sb(param_2,piVar10 + 4);" (call_expression "sb_add_sb(param_2,piVar10 + 4)" identifier (argument_list "(param_2,piVar10 + 4)" ( identifier , (binary_expression "piVar10 + 4" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" else (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "sb_add_sb(param_2,piVar10 + 7);" (call_expression "sb_add_sb(param_2,piVar10 + 7)" identifier (argument_list "(param_2,piVar10 + 7)" ( identifier , (binary_expression "piVar10 + 7" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003afec:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" statement_identifier : (do_statement "do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" do (compound_statement "{\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  }" { (expression_statement "piVar5 = (int *)(*local_50)();" (assignment_expression "piVar5 = (int *)(*local_50)()" identifier = (cast_expression "(int *)(*local_50)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_50)()" (parenthesized_expression "(*local_50)" ( (pointer_expression "*local_50" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" identifier = (cast_expression "(code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (parenthesized_expression "(*local_4c)" ( (pointer_expression "*local_4c" * identifier) )) (argument_list "(pcVar8,param_1,param_1 + 1,piVar5 + 1)" ( identifier , identifier , (binary_expression "param_1 + 1" identifier + number_literal) , (binary_expression "piVar5 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" identifier = (call_expression "sb_terminate(piVar5 + 1)" identifier (argument_list "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar6 = hash_find(param_4,uVar4);" (assignment_expression "iVar6 = hash_find(param_4,uVar4)" identifier = (call_expression "hash_find(param_4,uVar4)" identifier (argument_list "(param_4,uVar4)" ( identifier , identifier )))) ;) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" identifier = identifier) ;) (expression_statement "puVar3 = PTR_sprintf_000b65a0;" (assignment_expression "puVar3 = PTR_sprintf_000b65a0" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(local_3c + -0xe20);" (assignment_expression "iVar6 = *(int *)(local_3c + -0xe20)" identifier = (pointer_expression "*(int *)(local_3c + -0xe20)" * (cast_expression "(int *)(local_3c + -0xe20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xe20)" ( (binary_expression "local_3c + -0xe20" identifier + number_literal) ))))) ;) (expression_statement "*piVar5 = (int)local_40;" (assignment_expression "*piVar5 = (int)local_40" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[10] = -3;" (assignment_expression "piVar5[10] = -3" (subscript_expression "piVar5[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(local_3c + -0xe20) = iVar6 + 1;" (assignment_expression "*(int *)(local_3c + -0xe20) = iVar6 + 1" (pointer_expression "*(int *)(local_3c + -0xe20)" * (cast_expression "(int *)(local_3c + -0xe20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xe20)" ( (binary_expression "local_3c + -0xe20" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar3)(local_34,local_38,iVar6 + 1);" (call_expression "(*(code *)puVar3)(local_34,local_38,iVar6 + 1)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34,local_38,iVar6 + 1)" ( identifier , identifier , (binary_expression "iVar6 + 1" identifier + number_literal) ))) ;) (expression_statement "sb_add_string(piVar5 + 7,puVar11);" (call_expression "sb_add_string(piVar5 + 7,puVar11)" identifier (argument_list "(piVar5 + 7,puVar11)" ( (binary_expression "piVar5 + 7" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = hash_jam(param_4,uVar4,piVar5);" (assignment_expression "iVar6 = hash_jam(param_4,uVar4,piVar5)" identifier = (call_expression "hash_jam(param_4,uVar4,piVar5)" identifier (argument_list "(param_4,uVar4,piVar5)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" else (compound_statement "{\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" { (expression_statement "uVar15 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(param_5 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" * (cast_expression "(undefined4 *)(param_5 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar6 = local_54 + *(int *)(param_5 + 0x20)" identifier = (binary_expression "local_54 + *(int *)(param_5 + 0x20)" identifier + (pointer_expression "*(int *)(param_5 + 0x20)" * (cast_expression "(int *)(param_5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x20)" ( (binary_expression "param_5 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);" (assignment_expression "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_44,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "as_bad_where(uVar15,iVar6,uVar17,uVar4);" (call_expression "as_bad_where(uVar15,iVar6,uVar17,uVar4)" identifier (argument_list "(uVar15,iVar6,uVar17,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*local_48)(piVar5);" (call_expression "(*local_48)(piVar5)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(piVar5)" ( identifier ))) ;) }))) (expression_statement "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1)" identifier = (cast_expression "(code *)sb_skip_comma(pcVar8,param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sb_skip_comma(pcVar8,param_1)" identifier (argument_list "(pcVar8,param_1)" ( identifier , identifier ))))) ;) }) while (parenthesized_expression "(pcVar8[*param_1] != (code)0xa)" ( (binary_expression "pcVar8[*param_1] != (code)0xa" (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ]) != (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;)) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = local_40;" (assignment_expression "piVar5 = local_40" identifier = identifier) ;) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003aed0:\n  pcVar8 = pcVar12 + 1;" statement_identifier : (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (if_statement "if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" if (parenthesized_expression "((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40))" ( (binary_expression "(pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)" (parenthesized_expression "(pcVar8 < pcVar9)" ( (binary_expression "pcVar8 < pcVar9" identifier < identifier) )) && (parenthesized_expression "(pcVar8[iVar16] == (code)0x40)" ( (binary_expression "pcVar8[iVar16] == (code)0x40" (subscript_expression "pcVar8[iVar16]" identifier [ identifier ]) == (cast_expression "(code)0x40" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" { (expression_statement "sb_add_char(param_2,0x40);" (call_expression "sb_add_char(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0003abe4) */\n/* WARNING: Removing unreachable block (ram,0x0003abec) */\n\nchar * macro_expand_body(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,\n                        macro_entry *macro)\n\n{\n  char cVar1;\n  ushort uVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int iVar9;\n  byte *pbVar10;\n  formal_entry *pfVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  uint uVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *file;\n  undefined4 uVar18;\n  char buffer [12];\n  sb t;\n  int local_54;\n  \n  puVar4 = PTR_mips_opcodes_000b5cd0;\n  uVar14 = 0;\n  pcVar13 = (char *)0x0;\n  sb_new(&t);\n  uVar12 = in->len;\n  local_54 = 0;\n  bVar3 = false;\n  pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960);\n  pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814);\nLAB_0003ab34:\n  uVar15 = uVar14;\n  if (uVar12 <= uVar14) {\nLAB_0003abd4:\n    sb_kill(&t);\n    return pcVar13;\n  }\n  do {\n    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;\n    pcVar17 = in->ptr;\n    pbVar10 = (byte *)(pcVar17 + uVar15);\n    sVar16 = (size_t)(char)*pbVar10;\n    if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }\n    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x22) goto LAB_0003ae70;\nLAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }\nLAB_0003abb0:\n    uVar15 = uVar15 + 1;\n    sb_add_char(out,sVar16);\n    uVar12 = in->len;\n    if (uVar12 <= uVar15) goto LAB_0003abd4;\n  } while( true );\njoined_r0x0003b040:\n  if ((int)cVar1 == 0x29) goto LAB_0003b114;\n  uVar14 = uVar14 + 1;\n  sb_add_char(out,(int)cVar1);\n  uVar12 = in->len;\n  if (uVar12 <= uVar14) goto LAB_0003b084;\n  cVar1 = in->ptr[uVar14];\n  goto joined_r0x0003b040;\nLAB_0003b114:\n  uVar14 = uVar14 + 1;\n  goto LAB_0003ab34;\nLAB_0003b084:\n  if (macro == (macro_entry *)0x0) {\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }\n  else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n  while (pfVar11->index != iVar9 + -1) {\nLAB_0003afe0:\n    pfVar11 = pfVar11->next;\n    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;\n  }\n  sVar16 = (pfVar11->actual).len;\nLAB_0003b130:\n  if (sVar16 == 0) {\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }\n  else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  pcVar13 = (char *)0x0;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  uVar14 = uVar15 + 1;\n  if ((uVar14 < uVar12) && (pcVar17[uVar14] == '@')) {\n    uVar14 = uVar15 + 2;\n    sb_add_char(out,0x40);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n}\n\n" comment comment (function_definition "char * macro_expand_body(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,\n                        macro_entry *macro)\n\n{\n  char cVar1;\n  ushort uVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int iVar9;\n  byte *pbVar10;\n  formal_entry *pfVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  uint uVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *file;\n  undefined4 uVar18;\n  char buffer [12];\n  sb t;\n  int local_54;\n  \n  puVar4 = PTR_mips_opcodes_000b5cd0;\n  uVar14 = 0;\n  pcVar13 = (char *)0x0;\n  sb_new(&t);\n  uVar12 = in->len;\n  local_54 = 0;\n  bVar3 = false;\n  pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960);\n  pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814);\nLAB_0003ab34:\n  uVar15 = uVar14;\n  if (uVar12 <= uVar14) {\nLAB_0003abd4:\n    sb_kill(&t);\n    return pcVar13;\n  }\n  do {\n    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;\n    pcVar17 = in->ptr;\n    pbVar10 = (byte *)(pcVar17 + uVar15);\n    sVar16 = (size_t)(char)*pbVar10;\n    if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }\n    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x22) goto LAB_0003ae70;\nLAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }\nLAB_0003abb0:\n    uVar15 = uVar15 + 1;\n    sb_add_char(out,sVar16);\n    uVar12 = in->len;\n    if (uVar12 <= uVar15) goto LAB_0003abd4;\n  } while( true );\njoined_r0x0003b040:\n  if ((int)cVar1 == 0x29) goto LAB_0003b114;\n  uVar14 = uVar14 + 1;\n  sb_add_char(out,(int)cVar1);\n  uVar12 = in->len;\n  if (uVar12 <= uVar14) goto LAB_0003b084;\n  cVar1 = in->ptr[uVar14];\n  goto joined_r0x0003b040;\nLAB_0003b114:\n  uVar14 = uVar14 + 1;\n  goto LAB_0003ab34;\nLAB_0003b084:\n  if (macro == (macro_entry *)0x0) {\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }\n  else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n  while (pfVar11->index != iVar9 + -1) {\nLAB_0003afe0:\n    pfVar11 = pfVar11->next;\n    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;\n  }\n  sVar16 = (pfVar11->actual).len;\nLAB_0003b130:\n  if (sVar16 == 0) {\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }\n  else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  pcVar13 = (char *)0x0;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  uVar14 = uVar15 + 1;\n  if ((uVar14 < uVar12) && (pcVar17[uVar14] == '@')) {\n    uVar14 = uVar15 + 2;\n    sb_add_char(out,0x40);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n}" primitive_type (pointer_declarator "* macro_expand_body(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,\n                        macro_entry *macro)" * (function_declarator "macro_expand_body(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,\n                        macro_entry *macro)" identifier (parameter_list "(sb *in,sb *out,formal_entry *formals,hash_control *formal_hash,\n                        macro_entry *macro)" ( (parameter_declaration "sb *in" type_identifier (pointer_declarator "*in" * identifier)) , (parameter_declaration "sb *out" type_identifier (pointer_declarator "*out" * identifier)) , (parameter_declaration "formal_entry *formals" type_identifier (pointer_declarator "*formals" * identifier)) , (parameter_declaration "hash_control *formal_hash" type_identifier (pointer_declarator "*formal_hash" * identifier)) , (parameter_declaration "macro_entry *macro" type_identifier (pointer_declarator "*macro" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  ushort uVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  undefined4 uVar7;\n  void *pvVar8;\n  int iVar9;\n  byte *pbVar10;\n  formal_entry *pfVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  uint uVar15;\n  size_t sVar16;\n  char *pcVar17;\n  char *file;\n  undefined4 uVar18;\n  char buffer [12];\n  sb t;\n  int local_54;\n  \n  puVar4 = PTR_mips_opcodes_000b5cd0;\n  uVar14 = 0;\n  pcVar13 = (char *)0x0;\n  sb_new(&t);\n  uVar12 = in->len;\n  local_54 = 0;\n  bVar3 = false;\n  pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960);\n  pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814);\nLAB_0003ab34:\n  uVar15 = uVar14;\n  if (uVar12 <= uVar14) {\nLAB_0003abd4:\n    sb_kill(&t);\n    return pcVar13;\n  }\n  do {\n    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;\n    pcVar17 = in->ptr;\n    pbVar10 = (byte *)(pcVar17 + uVar15);\n    sVar16 = (size_t)(char)*pbVar10;\n    if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }\n    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x22) goto LAB_0003ae70;\nLAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }\nLAB_0003abb0:\n    uVar15 = uVar15 + 1;\n    sb_add_char(out,sVar16);\n    uVar12 = in->len;\n    if (uVar12 <= uVar15) goto LAB_0003abd4;\n  } while( true );\njoined_r0x0003b040:\n  if ((int)cVar1 == 0x29) goto LAB_0003b114;\n  uVar14 = uVar14 + 1;\n  sb_add_char(out,(int)cVar1);\n  uVar12 = in->len;\n  if (uVar12 <= uVar14) goto LAB_0003b084;\n  cVar1 = in->ptr[uVar14];\n  goto joined_r0x0003b040;\nLAB_0003b114:\n  uVar14 = uVar14 + 1;\n  goto LAB_0003ab34;\nLAB_0003b084:\n  if (macro == (macro_entry *)0x0) {\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }\n  else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n  while (pfVar11->index != iVar9 + -1) {\nLAB_0003afe0:\n    pfVar11 = pfVar11->next;\n    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;\n  }\n  sVar16 = (pfVar11->actual).len;\nLAB_0003b130:\n  if (sVar16 == 0) {\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }\n  else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  pcVar13 = (char *)0x0;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  uVar14 = uVar15 + 1;\n  if ((uVar14 < uVar12) && (pcVar17[uVar14] == '@')) {\n    uVar14 = uVar15 + 2;\n    sb_add_char(out,0x40);\n    uVar12 = in->len;\n  }\n  goto LAB_0003ab34;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "formal_entry *pfVar11;" type_identifier (pointer_declarator "*pfVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "char *file;" primitive_type (pointer_declarator "*file" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "char buffer [12];" primitive_type (array_declarator "buffer [12]" identifier [ number_literal ]) ;) (declaration "sb t;" type_identifier identifier ;) (declaration "int local_54;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_mips_opcodes_000b5cd0;" (assignment_expression "puVar4 = PTR_mips_opcodes_000b5cd0" identifier = identifier) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = (char *)0x0;" (assignment_expression "pcVar13 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sb_new(&t);" (call_expression "sb_new(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_000b6120 + -0x5960)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5960)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5960)" ( (binary_expression "PTR_LAB_000b6120 + -0x5960" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_000b6120 + -0x5814)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5814)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5814)" ( (binary_expression "PTR_LAB_000b6120 + -0x5814" identifier + number_literal) )))) ;) (labeled_statement "LAB_0003ab34:\n  uVar15 = uVar14;" statement_identifier : (expression_statement "uVar15 = uVar14;" (assignment_expression "uVar15 = uVar14" identifier = identifier) ;)) (if_statement "if (uVar12 <= uVar14) {\nLAB_0003abd4:\n    sb_kill(&t);\n    return pcVar13;\n  }" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (compound_statement "{\nLAB_0003abd4:\n    sb_kill(&t);\n    return pcVar13;\n  }" { (labeled_statement "LAB_0003abd4:\n    sb_kill(&t);" statement_identifier : (expression_statement "sb_kill(&t);" (call_expression "sb_kill(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;)) (return_statement "return pcVar13;" return identifier ;) })) (do_statement "do {\n    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;\n    pcVar17 = in->ptr;\n    pbVar10 = (byte *)(pcVar17 + uVar15);\n    sVar16 = (size_t)(char)*pbVar10;\n    if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }\n    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x22) goto LAB_0003ae70;\nLAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }\nLAB_0003abb0:\n    uVar15 = uVar15 + 1;\n    sb_add_char(out,sVar16);\n    uVar12 = in->len;\n    if (uVar12 <= uVar15) goto LAB_0003abd4;\n  } while( true );" do (compound_statement "{\n    if (pcVar13 != (char *)0x0) goto LAB_0003abd4;\n    pcVar17 = in->ptr;\n    pbVar10 = (byte *)(pcVar17 + uVar15);\n    sVar16 = (size_t)(char)*pbVar10;\n    if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }\n    if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }\n    if (sVar16 == 0x22) goto LAB_0003ae70;\nLAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }\nLAB_0003abb0:\n    uVar15 = uVar15 + 1;\n    sb_add_char(out,sVar16);\n    uVar12 = in->len;\n    if (uVar12 <= uVar15) goto LAB_0003abd4;\n  }" { (if_statement "if (pcVar13 != (char *)0x0) goto LAB_0003abd4;" if (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;)) (expression_statement "pcVar17 = in->ptr;" (assignment_expression "pcVar17 = in->ptr" identifier = (field_expression "in->ptr" identifier -> field_identifier)) ;) (expression_statement "pbVar10 = (byte *)(pcVar17 + uVar15);" (assignment_expression "pbVar10 = (byte *)(pcVar17 + uVar15)" identifier = (cast_expression "(byte *)(pcVar17 + uVar15)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar17 + uVar15)" ( (binary_expression "pcVar17 + uVar15" identifier + identifier) )))) ;) (expression_statement "sVar16 = (size_t)(char)*pbVar10;" (assignment_expression "sVar16 = (size_t)(char)*pbVar10" identifier = (cast_expression "(size_t)(char)*pbVar10" ( (type_descriptor "size_t" primitive_type) ) (cast_expression "(char)*pbVar10" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar10" * identifier)))) ;) (if_statement "if (sVar16 == 0x26) {\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }" if (parenthesized_expression "(sVar16 == 0x26)" ( (binary_expression "sVar16 == 0x26" identifier == number_literal) )) (compound_statement "{\n      uVar14 = uVar15 + 1;\n      sb_reset(&t);\n      if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }\n      goto LAB_0003ab34;\n    }" { (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "sb_reset(&t);" (call_expression "sb_reset(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (if_statement "if (*(int *)(puVar4 + -0xe10) == 0) {\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }\n      else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }" if (parenthesized_expression "(*(int *)(puVar4 + -0xe10) == 0)" ( (binary_expression "*(int *)(puVar4 + -0xe10) == 0" (pointer_expression "*(int *)(puVar4 + -0xe10)" * (cast_expression "(int *)(puVar4 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0xe10)" ( (binary_expression "puVar4 + -0xe10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar18 = 0;\n        uVar7 = 0x26;\nLAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);\n        uVar12 = in->len;\n      }" { (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0x26;" (assignment_expression "uVar7 = 0x26" identifier = number_literal) ;) (labeled_statement "LAB_0003ad4c:\n        uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);" statement_identifier : (expression_statement "uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18);" (assignment_expression "uVar14 = (*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18)" identifier = (call_expression "(*pcVar6)(uVar14,in,&t,formal_hash,uVar7,out,uVar18)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(uVar14,in,&t,formal_hash,uVar7,out,uVar18)" ( identifier , identifier , (pointer_expression "&t" & identifier) , identifier , identifier , identifier , identifier )))) ;)) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }) (else_clause "else {\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }" else (compound_statement "{\n        if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }\n        sb_add_char(out,(int)pcVar17[uVar15]);\n        uVar12 = in->len;\n      }" { (if_statement "if (uVar14 < in->len) {\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }\n        else {\n          pcVar17 = in->ptr;\n        }" if (parenthesized_expression "(uVar14 < in->len)" ( (binary_expression "uVar14 < in->len" identifier < (field_expression "in->len" identifier -> field_identifier)) )) (compound_statement "{\n          pcVar17 = in->ptr;\n          if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }\n        }" { (expression_statement "pcVar17 = in->ptr;" (assignment_expression "pcVar17 = in->ptr" identifier = (field_expression "in->ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar17[uVar14] == '&') {\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }" if (parenthesized_expression "(pcVar17[uVar14] == '&')" ( (binary_expression "pcVar17[uVar14] == '&'" (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]) == (char_literal "'&'" ' character ')) )) (compound_statement "{\n            uVar18 = 1;\n            uVar7 = 0x27;\n            uVar14 = uVar15 + 2;\n            goto LAB_0003ad4c;\n          }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "uVar7 = 0x27;" (assignment_expression "uVar7 = 0x27" identifier = number_literal) ;) (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) }) (else_clause "else {\n          pcVar17 = in->ptr;\n        }" else (compound_statement "{\n          pcVar17 = in->ptr;\n        }" { (expression_statement "pcVar17 = in->ptr;" (assignment_expression "pcVar17 = in->ptr" identifier = (field_expression "in->ptr" identifier -> field_identifier)) ;) }))) (expression_statement "sb_add_char(out,(int)pcVar17[uVar15]);" (call_expression "sb_add_char(out,(int)pcVar17[uVar15])" identifier (argument_list "(out,(int)pcVar17[uVar15])" ( identifier , (cast_expression "(int)pcVar17[uVar15]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar17[uVar15]" identifier [ identifier ])) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (sVar16 == 0x5c) {\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }" if (parenthesized_expression "(sVar16 == 0x5c)" ( (binary_expression "sVar16 == 0x5c" identifier == number_literal) )) (compound_statement "{\n      uVar14 = uVar15 + 1;\n      if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }\n      sb_reset(&t);\n      uVar18 = 0;\n      uVar7 = 0x27;\n      goto LAB_0003ad4c;\n    }" { (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (if_statement "if (uVar14 < uVar12) {\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }" if (parenthesized_expression "(uVar14 < uVar12)" ( (binary_expression "uVar14 < uVar12" identifier < identifier) )) (compound_statement "{\n        iVar9 = (int)pcVar17[uVar14];\n        if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }\n        if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }\n        if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }\n      }" { (expression_statement "iVar9 = (int)pcVar17[uVar14];" (assignment_expression "iVar9 = (int)pcVar17[uVar14]" identifier = (cast_expression "(int)pcVar17[uVar14]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]))) ;) (if_statement "if (iVar9 == 0x28) {\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }" if (parenthesized_expression "(iVar9 == 0x28)" ( (binary_expression "iVar9 == 0x28" identifier == number_literal) )) (compound_statement "{\n          uVar14 = uVar15 + 2;\n          if (uVar12 <= uVar14) goto LAB_0003b084;\n          cVar1 = pcVar17[uVar14];\n          break;\n        }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_0003b084;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = pcVar17[uVar14];" (assignment_expression "cVar1 = pcVar17[uVar14]" identifier = (subscript_expression "pcVar17[uVar14]" identifier [ identifier ])) ;) (break_statement "break;" break ;) })) (if_statement "if (iVar9 == 0x40) {\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }" if (parenthesized_expression "(iVar9 == 0x40)" ( (binary_expression "iVar9 == 0x40" identifier == number_literal) )) (compound_statement "{\n          uVar14 = uVar15 + 2;\n          (*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n          sb_add_string(out,buffer);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));" (call_expression "(*(code *)PTR_sprintf_000b65a0)\n                    (buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" (parenthesized_expression "(*(code *)PTR_sprintf_000b65a0)" ( (pointer_expression "*(code *)PTR_sprintf_000b65a0" * (cast_expression "(code *)PTR_sprintf_000b65a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(buffer,PTR_s_operand_000b5e4c + -0x6960,\n                     *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" ( identifier , (binary_expression "PTR_s_operand_000b5e4c + -0x6960" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" * (cast_expression "(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe1c" identifier + number_literal) )))) ))) ;) (expression_statement "sb_add_string(out,buffer);" (call_expression "sb_add_string(out,buffer)" identifier (argument_list "(out,buffer)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (iVar9 == 0x26) {\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }" if (parenthesized_expression "(iVar9 == 0x26)" ( (binary_expression "iVar9 == 0x26" identifier == number_literal) )) (compound_statement "{\n          uVar14 = uVar15 + 2;\n          sb_add_char(out,0x5c);\n          sb_add_char(out,0x26);\n          uVar12 = in->len;\n          goto LAB_0003ab34;\n        }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "sb_add_char(out,0x5c);" (call_expression "sb_add_char(out,0x5c)" identifier (argument_list "(out,0x5c)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(out,0x26);" (call_expression "sb_add_char(out,0x26)" identifier (argument_list "(out,0x26)" ( identifier , number_literal ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (*(int *)(puVar4 + -0xe10) != 0) {\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }" if (parenthesized_expression "(*(int *)(puVar4 + -0xe10) != 0)" ( (binary_expression "*(int *)(puVar4 + -0xe10) != 0" (pointer_expression "*(int *)(puVar4 + -0xe10)" * (cast_expression "(int *)(puVar4 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0xe10)" ( (binary_expression "puVar4 + -0xe10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);\n          if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }\n        }" { (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2)" ( (binary_expression "PTR__sch_istable_000b6714 + (uint)(byte)pcVar17[uVar14] * 2" identifier + (binary_expression "(uint)(byte)pcVar17[uVar14] * 2" (cast_expression "(uint)(byte)pcVar17[uVar14]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar17[uVar14]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]))) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x8c) != 0) {\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }" if (parenthesized_expression "((uVar2 & 0x8c) != 0)" ( (binary_expression "(uVar2 & 0x8c) != 0" (parenthesized_expression "(uVar2 & 0x8c)" ( (binary_expression "uVar2 & 0x8c" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }\n            uVar14 = uVar15 + 2;\n            if (formals == (formal_entry *)0x0) goto LAB_0003afec;\n            pfVar11 = formals;\n            if (formals->index != iVar9 + -1) goto LAB_0003afe0;\n            sVar16 = (formals->actual).len;\n            goto LAB_0003b130;\n          }" { (if_statement "if ((uVar2 & 4) == 0) {\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }\n            else {\n              iVar9 = iVar9 + -0x30;\n            }" if (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }\n            }" { (if_statement "if ((uVar2 & 0x80) == 0) {\n                iVar9 = iVar9 + -0x57;\n              }\n              else {\n                iVar9 = iVar9 + -0x37;\n              }" if (parenthesized_expression "((uVar2 & 0x80) == 0)" ( (binary_expression "(uVar2 & 0x80) == 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                iVar9 = iVar9 + -0x57;\n              }" { (expression_statement "iVar9 = iVar9 + -0x57;" (assignment_expression "iVar9 = iVar9 + -0x57" identifier = (binary_expression "iVar9 + -0x57" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar9 = iVar9 + -0x37;\n              }" else (compound_statement "{\n                iVar9 = iVar9 + -0x37;\n              }" { (expression_statement "iVar9 = iVar9 + -0x37;" (assignment_expression "iVar9 = iVar9 + -0x37" identifier = (binary_expression "iVar9 + -0x37" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              iVar9 = iVar9 + -0x30;\n            }" else (compound_statement "{\n              iVar9 = iVar9 + -0x30;\n            }" { (expression_statement "iVar9 = iVar9 + -0x30;" (assignment_expression "iVar9 = iVar9 + -0x30" identifier = (binary_expression "iVar9 + -0x30" identifier + number_literal)) ;) }))) (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (if_statement "if (formals == (formal_entry *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(formals == (formal_entry *)0x0)" ( (binary_expression "formals == (formal_entry *)0x0" identifier == (cast_expression "(formal_entry *)0x0" ( (type_descriptor "formal_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) (expression_statement "pfVar11 = formals;" (assignment_expression "pfVar11 = formals" identifier = identifier) ;) (if_statement "if (formals->index != iVar9 + -1) goto LAB_0003afe0;" if (parenthesized_expression "(formals->index != iVar9 + -1)" ( (binary_expression "formals->index != iVar9 + -1" (field_expression "formals->index" identifier -> field_identifier) != (binary_expression "iVar9 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_0003afe0;" goto statement_identifier ;)) (expression_statement "sVar16 = (formals->actual).len;" (assignment_expression "sVar16 = (formals->actual).len" identifier = (field_expression "(formals->actual).len" (parenthesized_expression "(formals->actual)" ( (field_expression "formals->actual" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_0003b130;" goto statement_identifier ;) })) })) })) (expression_statement "sb_reset(&t);" (call_expression "sb_reset(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0x27;" (assignment_expression "uVar7 = 0x27" identifier = number_literal) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0) {\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }" if (parenthesized_expression "(*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0)" ( (binary_expression "*(int *)(puVar4 + -0xe10) != 0 || *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0" (binary_expression "*(int *)(puVar4 + -0xe10) != 0" (pointer_expression "*(int *)(puVar4 + -0xe10)" * (cast_expression "(int *)(puVar4 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0xe10)" ( (binary_expression "puVar4 + -0xe10" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) != 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe0c" identifier + number_literal) )))) != number_literal)) )) (compound_statement "{\n      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }\n      if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }\nLAB_0003ae70:\n      uVar14 = uVar15 + 1;\n      bVar3 = (bool)(bVar3 ^ 1);\n      sb_add_char(out,sVar16);\n      uVar12 = in->len;\n      goto LAB_0003ab34;\n    }" { (if_statement "if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))) {\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }" if (parenthesized_expression "(((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40))))))" ( (binary_expression "((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&\n         (((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))" (parenthesized_expression "((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0)" ( (binary_expression "(PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0" (parenthesized_expression "(PTR_lex_type_000b5e9c[*pbVar10] & 2)" ( (binary_expression "PTR_lex_type_000b5e9c[*pbVar10] & 2" (subscript_expression "PTR_lex_type_000b5e9c[*pbVar10]" identifier [ (pointer_expression "*pbVar10" * identifier) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))))" ( (parenthesized_expression "((!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40))))" ( (binary_expression "(!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n          ((uVar15 != 0 && (pbVar10[-1] == 0x40)))" (parenthesized_expression "(!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0))" ( (binary_expression "!bVar3 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (unary_expression "!bVar3" ! identifier) || (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "((uVar15 != 0 && (pbVar10[-1] == 0x40)))" ( (parenthesized_expression "(uVar15 != 0 && (pbVar10[-1] == 0x40))" ( (binary_expression "uVar15 != 0 && (pbVar10[-1] == 0x40)" (binary_expression "uVar15 != 0" identifier != number_literal) && (parenthesized_expression "(pbVar10[-1] == 0x40)" ( (binary_expression "pbVar10[-1] == 0x40" (subscript_expression "pbVar10[-1]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n        if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }\n        uVar18 = 1;\n        uVar14 = uVar15;\n        goto LAB_0003ad4c;\n      }" { (if_statement "if ((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))) {\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }\n        else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }" if (parenthesized_expression "((((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t'))))" ( (binary_expression "(((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)) || ((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))" (parenthesized_expression "(((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0))" ( (binary_expression "((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)) ||\n            (iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)" (parenthesized_expression "((macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14))" ( (binary_expression "(macro == (macro_entry *)0x0) || (uVar14 = uVar15 + 5, uVar12 <= uVar14)" (parenthesized_expression "(macro == (macro_entry *)0x0)" ( (binary_expression "macro == (macro_entry *)0x0" identifier == (cast_expression "(macro_entry *)0x0" ( (type_descriptor "macro_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar14 = uVar15 + 5, uVar12 <= uVar14)" ( (comma_expression "uVar14 = uVar15 + 5, uVar12 <= uVar14" (assignment_expression "uVar14 = uVar15 + 5" identifier = (binary_expression "uVar15 + 5" identifier + number_literal)) , (binary_expression "uVar12 <= uVar14" identifier <= identifier)) ))) )) || (parenthesized_expression "(iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0)" ( (comma_expression "iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5),\n            iVar9 != 0" (assignment_expression "iVar9 = (*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000b6618)(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000b6618)" ( (pointer_expression "*(code *)PTR_strncasecmp_000b6618" * (cast_expression "(code *)PTR_strncasecmp_000b6618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar10,PTR_LAB_000b5cb8 + 0x6d3c,5)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d3c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')))" ( (parenthesized_expression "(pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t'))" ( (binary_expression "pcVar17[uVar14] != ' ' && (pcVar17[uVar14] != '\t')" (binary_expression "pcVar17[uVar14] != ' '" (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]) != (char_literal "' '" ' character ')) && (parenthesized_expression "(pcVar17[uVar14] != '\t')" ( (binary_expression "pcVar17[uVar14] != '\t'" (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]) != (char_literal "'\t'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          sb_reset(&t);\n          uVar7 = 0x27;\n          if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;\n        }" { (expression_statement "sb_reset(&t);" (call_expression "sb_reset(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (expression_statement "uVar7 = 0x27;" (assignment_expression "uVar7 = 0x27" identifier = number_literal) ;) (if_statement "if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))\n          goto LAB_0003ae48;" if (parenthesized_expression "((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3))" ( (binary_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar7 = 0x40, !bVar3)" (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(uVar7 = 0x40, !bVar3)" ( (comma_expression "uVar7 = 0x40, !bVar3" (assignment_expression "uVar7 = 0x40" identifier = number_literal) , (unary_expression "!bVar3" ! identifier)) ))) )) (goto_statement "goto LAB_0003ae48;" goto statement_identifier ;)) }) (else_clause "else {\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }" else (compound_statement "{\n          if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }\n          sb_reset(&t);\n          if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }\n        }" { (if_statement "if (!bVar3) {\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }" if (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            sb_skip_white(uVar14,in);\n          }" { comment (expression_statement "sb_skip_white(uVar14,in);" (call_expression "sb_skip_white(uVar14,in)" identifier (argument_list "(uVar14,in)" ( identifier , identifier ))) ;) })) (expression_statement "sb_reset(&t);" (call_expression "sb_reset(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (if_statement "if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) {\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }\n          else {\n            uVar7 = 0x40;\n          }" if (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0003ae48:\n            uVar7 = 0x27;\n          }" { (labeled_statement "LAB_0003ae48:\n            uVar7 = 0x27;" statement_identifier : (expression_statement "uVar7 = 0x27;" (assignment_expression "uVar7 = 0x27" identifier = number_literal) ;)) }) (else_clause "else {\n            uVar7 = 0x40;\n          }" else (compound_statement "{\n            uVar7 = 0x40;\n          }" { (expression_statement "uVar7 = 0x40;" (assignment_expression "uVar7 = 0x40" identifier = number_literal) ;) }))) }))) (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (expression_statement "uVar14 = uVar15;" (assignment_expression "uVar14 = uVar15" identifier = identifier) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (sVar16 != 0x22) {\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }" if (parenthesized_expression "(sVar16 != 0x22)" ( (binary_expression "sVar16 != 0x22" identifier != number_literal) )) (compound_statement "{\n        if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;\n        if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }\n      }" { (if_statement "if (*(int *)(puVar4 + -0xe10) == 0) goto LAB_0003ab8c;" if (parenthesized_expression "(*(int *)(puVar4 + -0xe10) == 0)" ( (binary_expression "*(int *)(puVar4 + -0xe10) == 0" (pointer_expression "*(int *)(puVar4 + -0xe10)" * (cast_expression "(int *)(puVar4 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0xe10)" ( (binary_expression "puVar4 + -0xe10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003ab8c;" goto statement_identifier ;)) (if_statement "if (sVar16 != 0x27) {\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }" if (parenthesized_expression "(sVar16 != 0x27)" ( (binary_expression "sVar16 != 0x27" identifier != number_literal) )) (compound_statement "{\n          if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }\n          if (sVar16 != 0x3d) goto LAB_0003ab98;\n          if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;\n          sb_reset(&t);\n          uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);\n          pcVar17 = sb_terminate(&t);\n          pvVar8 = hash_find(formal_hash,pcVar17);\n          if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }\n          goto LAB_0003ab34;\n        }" { (if_statement "if (sVar16 == 0x40) {\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }" if (parenthesized_expression "(sVar16 == 0x40)" ( (binary_expression "sVar16 == 0x40" identifier == number_literal) )) (compound_statement "{\n            iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n            goto joined_r0x0003aec8;\n          }" { (expression_statement "iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0003aec8;" goto statement_identifier ;) })) (if_statement "if (sVar16 != 0x3d) goto LAB_0003ab98;" if (parenthesized_expression "(sVar16 != 0x3d)" ( (binary_expression "sVar16 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003ab98;" goto statement_identifier ;)) (if_statement "if ((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')) goto LAB_0003abb0;" if (parenthesized_expression "((uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '='))" ( (binary_expression "(uVar12 <= uVar15 + 1) || (pcVar17[uVar15 + 1] != '=')" (parenthesized_expression "(uVar12 <= uVar15 + 1)" ( (binary_expression "uVar12 <= uVar15 + 1" identifier <= (binary_expression "uVar15 + 1" identifier + number_literal)) )) || (parenthesized_expression "(pcVar17[uVar15 + 1] != '=')" ( (binary_expression "pcVar17[uVar15 + 1] != '='" (subscript_expression "pcVar17[uVar15 + 1]" identifier [ (binary_expression "uVar15 + 1" identifier + number_literal) ]) != (char_literal "'='" ' character ')) ))) )) (goto_statement "goto LAB_0003abb0;" goto statement_identifier ;)) (expression_statement "sb_reset(&t);" (call_expression "sb_reset(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) ))) ;) (expression_statement "uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t);" (assignment_expression "uVar14 = (*pcVar5)(uVar15 + 2,in,&in->len,&t)" identifier = (call_expression "(*pcVar5)(uVar15 + 2,in,&in->len,&t)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(uVar15 + 2,in,&in->len,&t)" ( (binary_expression "uVar15 + 2" identifier + number_literal) , identifier , (pointer_expression "&in->len" & (field_expression "in->len" identifier -> field_identifier)) , (pointer_expression "&t" & identifier) )))) ;) (expression_statement "pcVar17 = sb_terminate(&t);" (assignment_expression "pcVar17 = sb_terminate(&t)" identifier = (call_expression "sb_terminate(&t)" identifier (argument_list "(&t)" ( (pointer_expression "&t" & identifier) )))) ;) (expression_statement "pvVar8 = hash_find(formal_hash,pcVar17);" (assignment_expression "pvVar8 = hash_find(formal_hash,pcVar17)" identifier = (call_expression "hash_find(formal_hash,pcVar17)" identifier (argument_list "(formal_hash,pcVar17)" ( identifier , identifier )))) ;) (if_statement "if (pvVar8 == (void *)0x0) {\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }\n          else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }" if (parenthesized_expression "(pvVar8 == (void *)0x0)" ( (binary_expression "pvVar8 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar13 = (char *)0x0;\n            sb_add_char(out,0x3d);\n            sb_add_char(out,0x3d);\n            sb_add_sb(out,&t);\n            uVar12 = in->len;\n          }" { (expression_statement "pcVar13 = (char *)0x0;" (assignment_expression "pcVar13 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sb_add_char(out,0x3d);" (call_expression "sb_add_char(out,0x3d)" identifier (argument_list "(out,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(out,0x3d);" (call_expression "sb_add_char(out,0x3d)" identifier (argument_list "(out,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_sb(out,&t);" (call_expression "sb_add_sb(out,&t)" identifier (argument_list "(out,&t)" ( identifier , (pointer_expression "&t" & identifier) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }) (else_clause "else if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }" else (if_statement "if (*(int *)((int)pvVar8 + 0x20) == 0) {\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }\n          else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }" if (parenthesized_expression "(*(int *)((int)pvVar8 + 0x20) == 0)" ( (binary_expression "*(int *)((int)pvVar8 + 0x20) == 0" (pointer_expression "*(int *)((int)pvVar8 + 0x20)" * (cast_expression "(int *)((int)pvVar8 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar8 + 0x20)" ( (binary_expression "(int)pvVar8 + 0x20" (cast_expression "(int)pvVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n            sb_add_char(out,0x30);\n            uVar12 = in->len;\n          }" { (expression_statement "sb_add_char(out,0x30);" (call_expression "sb_add_char(out,0x30)" identifier (argument_list "(out,0x30)" ( identifier , number_literal ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }) (else_clause "else {\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }" else (compound_statement "{\n            sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);\n            uVar12 = in->len;\n          }" { (expression_statement "sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88);" (call_expression "sb_add_string(out,PTR_LAB_000b5cb8 + 0x6d88)" identifier (argument_list "(out,PTR_LAB_000b5cb8 + 0x6d88)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d88" identifier + number_literal) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }))))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0003ae70:\n      uVar14 = uVar15 + 1;" statement_identifier : (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;)) (expression_statement "bVar3 = (bool)(bVar3 ^ 1);" (assignment_expression "bVar3 = (bool)(bVar3 ^ 1)" identifier = (cast_expression "(bool)(bVar3 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar3 ^ 1)" ( (binary_expression "bVar3 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "sb_add_char(out,sVar16);" (call_expression "sb_add_char(out,sVar16)" identifier (argument_list "(out,sVar16)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (sVar16 == 0x22) goto LAB_0003ae70;" if (parenthesized_expression "(sVar16 == 0x22)" ( (binary_expression "sVar16 == 0x22" identifier == number_literal) )) (goto_statement "goto LAB_0003ae70;" goto statement_identifier ;)) (labeled_statement "LAB_0003ab8c:\n    if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }" statement_identifier : (if_statement "if (sVar16 == 0x40) {\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }\n    else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }" if (parenthesized_expression "(sVar16 == 0x40)" ( (binary_expression "sVar16 == 0x40" identifier == number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;\n    }" { (expression_statement "iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar9 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0003aec8:\n      if (iVar9 != 0) goto LAB_0003aed0;" statement_identifier : (if_statement "if (iVar9 != 0) goto LAB_0003aed0;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003aed0;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }" else (compound_statement "{\nLAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }\n    }" { (labeled_statement "LAB_0003ab98:\n      if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }" statement_identifier : (if_statement "if (sVar16 == 10) {\n        local_54 = local_54 + 1;\n      }" if (parenthesized_expression "(sVar16 == 10)" ( (binary_expression "sVar16 == 10" identifier == number_literal) )) (compound_statement "{\n        local_54 = local_54 + 1;\n      }" { (expression_statement "local_54 = local_54 + 1;" (assignment_expression "local_54 = local_54 + 1" identifier = (binary_expression "local_54 + 1" identifier + number_literal)) ;) }))) })))) (labeled_statement "LAB_0003abb0:\n    uVar15 = uVar15 + 1;" statement_identifier : (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;)) (expression_statement "sb_add_char(out,sVar16);" (call_expression "sb_add_char(out,sVar16)" identifier (argument_list "(out,sVar16)" ( identifier , identifier ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (if_statement "if (uVar12 <= uVar15) goto LAB_0003abd4;" if (parenthesized_expression "(uVar12 <= uVar15)" ( (binary_expression "uVar12 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "joined_r0x0003b040:\n  if ((int)cVar1 == 0x29) goto LAB_0003b114;" statement_identifier : (if_statement "if ((int)cVar1 == 0x29) goto LAB_0003b114;" if (parenthesized_expression "((int)cVar1 == 0x29)" ( (binary_expression "(int)cVar1 == 0x29" (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (goto_statement "goto LAB_0003b114;" goto statement_identifier ;))) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "sb_add_char(out,(int)cVar1);" (call_expression "sb_add_char(out,(int)cVar1)" identifier (argument_list "(out,(int)cVar1)" ( identifier , (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) (if_statement "if (uVar12 <= uVar14) goto LAB_0003b084;" if (parenthesized_expression "(uVar12 <= uVar14)" ( (binary_expression "uVar12 <= uVar14" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = in->ptr[uVar14];" (assignment_expression "cVar1 = in->ptr[uVar14]" identifier = (subscript_expression "in->ptr[uVar14]" (field_expression "in->ptr" identifier -> field_identifier) [ identifier ])) ;) (goto_statement "goto joined_r0x0003b040;" goto statement_identifier ;) (labeled_statement "LAB_0003b114:\n  uVar14 = uVar14 + 1;" statement_identifier : (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003b084:\n  if (macro == (macro_entry *)0x0) {\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }\n  else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }" statement_identifier : (if_statement "if (macro == (macro_entry *)0x0) {\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }\n  else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }" if (parenthesized_expression "(macro == (macro_entry *)0x0)" ( (binary_expression "macro == (macro_entry *)0x0" identifier == (cast_expression "(macro_entry *)0x0" ( (type_descriptor "macro_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    uVar12 = in->len;\n  }" { (expression_statement "pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "pcVar13 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal ))))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }) (else_clause "else {\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }" else (compound_statement "{\n    uVar12 = macro->line;\n    file = macro->file;\n    pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(file,local_54 + uVar12,pcVar17);\n    uVar12 = in->len;\n  }" { (expression_statement "uVar12 = macro->line;" (assignment_expression "uVar12 = macro->line" identifier = (field_expression "macro->line" identifier -> field_identifier)) ;) (expression_statement "file = macro->file;" (assignment_expression "file = macro->file" identifier = (field_expression "macro->file" identifier -> field_identifier)) ;) (expression_statement "pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "pcVar17 = (char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal ))))) ;) (expression_statement "as_bad_where(file,local_54 + uVar12,pcVar17);" (call_expression "as_bad_where(file,local_54 + uVar12,pcVar17)" identifier (argument_list "(file,local_54 + uVar12,pcVar17)" ( identifier , (binary_expression "local_54 + uVar12" identifier + identifier) , identifier ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (while_statement "while (pfVar11->index != iVar9 + -1) {\nLAB_0003afe0:\n    pfVar11 = pfVar11->next;\n    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;\n  }" while (parenthesized_expression "(pfVar11->index != iVar9 + -1)" ( (binary_expression "pfVar11->index != iVar9 + -1" (field_expression "pfVar11->index" identifier -> field_identifier) != (binary_expression "iVar9 + -1" identifier + number_literal)) )) (compound_statement "{\nLAB_0003afe0:\n    pfVar11 = pfVar11->next;\n    if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;\n  }" { (labeled_statement "LAB_0003afe0:\n    pfVar11 = pfVar11->next;" statement_identifier : (expression_statement "pfVar11 = pfVar11->next;" (assignment_expression "pfVar11 = pfVar11->next" identifier = (field_expression "pfVar11->next" identifier -> field_identifier)) ;)) (if_statement "if (pfVar11 == (formal_struct *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(pfVar11 == (formal_struct *)0x0)" ( (binary_expression "pfVar11 == (formal_struct *)0x0" identifier == (cast_expression "(formal_struct *)0x0" ( (type_descriptor "formal_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) })) (expression_statement "sVar16 = (pfVar11->actual).len;" (assignment_expression "sVar16 = (pfVar11->actual).len" identifier = (field_expression "(pfVar11->actual).len" (parenthesized_expression "(pfVar11->actual)" ( (field_expression "pfVar11->actual" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "LAB_0003b130:\n  if (sVar16 == 0) {\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }\n  else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }" statement_identifier : (if_statement "if (sVar16 == 0) {\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }\n  else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }" if (parenthesized_expression "(sVar16 == 0)" ( (binary_expression "sVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    sb_add_sb(out,&pfVar11->def);\n    uVar12 = in->len;\n  }" { (expression_statement "sb_add_sb(out,&pfVar11->def);" (call_expression "sb_add_sb(out,&pfVar11->def)" identifier (argument_list "(out,&pfVar11->def)" ( identifier , (pointer_expression "&pfVar11->def" & (field_expression "pfVar11->def" identifier -> field_identifier)) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) }) (else_clause "else {\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }" else (compound_statement "{\n    sb_add_sb(out,&pfVar11->actual);\n    uVar12 = in->len;\n  }" { (expression_statement "sb_add_sb(out,&pfVar11->actual);" (call_expression "sb_add_sb(out,&pfVar11->actual)" identifier (argument_list "(out,&pfVar11->actual)" ( identifier , (pointer_expression "&pfVar11->actual" & (field_expression "pfVar11->actual" identifier -> field_identifier)) ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003afec:\n  pcVar13 = (char *)0x0;" statement_identifier : (expression_statement "pcVar13 = (char *)0x0;" (assignment_expression "pcVar13 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003aed0:\n  uVar14 = uVar15 + 1;" statement_identifier : (expression_statement "uVar14 = uVar15 + 1;" (assignment_expression "uVar14 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;)) (if_statement "if ((uVar14 < uVar12) && (pcVar17[uVar14] == '@')) {\n    uVar14 = uVar15 + 2;\n    sb_add_char(out,0x40);\n    uVar12 = in->len;\n  }" if (parenthesized_expression "((uVar14 < uVar12) && (pcVar17[uVar14] == '@'))" ( (binary_expression "(uVar14 < uVar12) && (pcVar17[uVar14] == '@')" (parenthesized_expression "(uVar14 < uVar12)" ( (binary_expression "uVar14 < uVar12" identifier < identifier) )) && (parenthesized_expression "(pcVar17[uVar14] == '@')" ( (binary_expression "pcVar17[uVar14] == '@'" (subscript_expression "pcVar17[uVar14]" identifier [ identifier ]) == (char_literal "'@'" ' character ')) ))) )) (compound_statement "{\n    uVar14 = uVar15 + 2;\n    sb_add_char(out,0x40);\n    uVar12 = in->len;\n  }" { (expression_statement "uVar14 = uVar15 + 2;" (assignment_expression "uVar14 = uVar15 + 2" identifier = (binary_expression "uVar15 + 2" identifier + number_literal)) ;) (expression_statement "sb_add_char(out,0x40);" (call_expression "sb_add_char(out,0x40)" identifier (argument_list "(out,0x40)" ( identifier , number_literal ))) ;) (expression_statement "uVar12 = in->len;" (assignment_expression "uVar12 = in->len" identifier = (field_expression "in->len" identifier -> field_identifier)) ;) })) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })))
(translation_unit "int FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)\n\n{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}\n\n" (function_definition "int FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)\n\n{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" primitive_type (function_declarator "FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" identifier (parameter_list "(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" { (declaration "code cVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined1 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined1 auStack_80 [20];" type_identifier (array_declarator "auStack_80 [20]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_6c [12];" type_identifier (array_declarator "auStack_6c [12]" identifier [ number_literal ]) ;) (declaration "undefined *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "code *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "code *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "code *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "code *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined1 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined1 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_60 = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_60 = PTR_mips_opcodes_000b5cd0" identifier = identifier) ;) (expression_statement "sb_new(auStack_6c);" (call_expression "sb_new(auStack_6c)" identifier (argument_list "(auStack_6c)" ( identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);" (assignment_expression "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5960)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5960)" ( (binary_expression "PTR_LAB_000b6120 + -0x5960" identifier + number_literal) )))) ;) (expression_statement "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);" (assignment_expression "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5814)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5814)" ( (binary_expression "PTR_LAB_000b6120 + -0x5814" identifier + number_literal) )))) ;) (expression_statement "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);" (assignment_expression "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5a58)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5a58)" ( (binary_expression "PTR_LAB_000b6120 + -0x5a58" identifier + number_literal) )))) ;) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar11 = auStack_6c;" (assignment_expression "puVar11 = auStack_6c" identifier = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar8 = (code *)0x0;" (assignment_expression "pcVar8 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0003ab34:\n  pcVar12 = pcVar8;" statement_identifier : (expression_statement "pcVar12 = pcVar8;" (assignment_expression "pcVar12 = pcVar8" identifier = identifier) ;)) (if_statement "if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (compound_statement "{\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" { (labeled_statement "LAB_0003abd4:\n    sb_kill(puVar11);" statement_identifier : (expression_statement "sb_kill(puVar11);" (call_expression "sb_kill(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;)) (while_statement "while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" while (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      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" { (expression_statement "piVar10 = (int *)*piVar5;" (assignment_expression "piVar10 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" identifier = (call_expression "sb_terminate(piVar5 + 1)" identifier (argument_list "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "hash_delete(param_4,uVar4,piVar10 == (int *)0x0);" (call_expression "hash_delete(param_4,uVar4,piVar10 == (int *)0x0)" identifier (argument_list "(param_4,uVar4,piVar10 == (int *)0x0)" ( identifier , identifier , (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ;) (expression_statement "FUN_0003a5a8(piVar5);" (call_expression "FUN_0003a5a8(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "piVar5 = piVar10;" (assignment_expression "piVar5 = piVar10" identifier = identifier) ;) })) (return_statement "return iVar6;" return identifier ;) })) (labeled_statement "LAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;" statement_identifier : (if_statement "if (iVar6 != 0) goto LAB_0003abd4;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;))) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pcVar8 = pcVar12 + iVar16;" (assignment_expression "pcVar8 = pcVar12 + iVar16" identifier = (binary_expression "pcVar12 + iVar16" identifier + identifier)) ;) (expression_statement "iVar13 = (int)(char)*pcVar8;" (assignment_expression "iVar13 = (int)(char)*pcVar8" identifier = (cast_expression "(int)(char)*pcVar8" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pcVar8" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar8" * identifier)))) ;) (if_statement "if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" if (parenthesized_expression "(iVar13 == 0x26)" ( (binary_expression "iVar13 == 0x26" identifier == number_literal) )) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" { (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (if_statement "if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = 0x26;" (assignment_expression "uVar4 = 0x26" identifier = number_literal) ;) (labeled_statement "LAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" statement_identifier : (expression_statement "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" (assignment_expression "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" identifier = (cast_expression "(code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (parenthesized_expression "(*local_58)" ( (pointer_expression "*local_58" * identifier) )) (argument_list "(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))))) ;)) (labeled_statement "LAB_0003ad60:\n      pcVar9 = (code *)param_1[1];" statement_identifier : (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;)) }) (else_clause "else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" else (compound_statement "{\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" { (if_statement "if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }" if (parenthesized_expression "(pcVar8 < (code *)param_1[1])" ( (binary_expression "pcVar8 < (code *)param_1[1]" identifier < (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) )) (compound_statement "{\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }" { (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" if (parenthesized_expression "(pcVar8[iVar13] == (code)0x26)" ( (binary_expression "pcVar8[iVar13] == (code)0x26" (subscript_expression "pcVar8[iVar13]" identifier [ identifier ]) == (cast_expression "(code)0x26" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" { (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar13 = *param_1;\n      }" else (compound_statement "{\n        iVar13 = *param_1;\n      }" { (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) }))) (expression_statement "sb_add_char(param_2,(int)(char)pcVar12[iVar13]);" (call_expression "sb_add_char(param_2,(int)(char)pcVar12[iVar13])" identifier (argument_list "(param_2,(int)(char)pcVar12[iVar13])" ( identifier , (cast_expression "(int)(char)pcVar12[iVar13]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pcVar12[iVar13]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar12[iVar13]" identifier [ identifier ]))) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" if (parenthesized_expression "(iVar13 == 0x5c)" ( (binary_expression "iVar13 == 0x5c" identifier == number_literal) )) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" { (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (if_statement "if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" if (parenthesized_expression "(pcVar8 < pcVar9)" ( (binary_expression "pcVar8 < pcVar9" identifier < identifier) )) (compound_statement "{\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" { (expression_statement "iVar13 = (int)(char)pcVar8[iVar16];" (assignment_expression "iVar13 = (int)(char)pcVar8[iVar16]" identifier = (cast_expression "(int)(char)pcVar8[iVar16]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)pcVar8[iVar16]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar8[iVar16]" identifier [ identifier ])))) ;) (if_statement "if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" if (parenthesized_expression "(iVar13 == 0x28)" ( (binary_expression "iVar13 == 0x28" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = pcVar8[iVar16];" (assignment_expression "cVar1 = pcVar8[iVar16]" identifier = (subscript_expression "pcVar8[iVar16]" identifier [ identifier ])) ;) (goto_statement "goto joined_r0x0003b040;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));" (call_expression "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" (parenthesized_expression "(*(code *)PTR_sprintf_000b65a0)" ( (pointer_expression "*(code *)PTR_sprintf_000b65a0" * (cast_expression "(code *)PTR_sprintf_000b65a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" ( identifier , (binary_expression "PTR_s_operand_000b5e4c + -0x6960" identifier + number_literal) , (pointer_expression "*(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" * (cast_expression "(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe1c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe1c" identifier + number_literal) )))) ))) ;) (expression_statement "sb_add_string(param_2,auStack_80);" (call_expression "sb_add_string(param_2,auStack_80)" identifier (argument_list "(param_2,auStack_80)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar13 == 0x26)" ( (binary_expression "iVar13 == 0x26" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (expression_statement "sb_add_char(param_2,0x5c);" (call_expression "sb_add_char(param_2,0x5c)" identifier (argument_list "(param_2,0x5c)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(param_2,0x26);" (call_expression "sb_add_char(param_2,0x26)" identifier (argument_list "(param_2,0x26)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) (if_statement "if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) != 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) != 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" { (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" identifier = (pointer_expression "*(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" * (cast_expression "(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" ( (binary_expression "PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2" identifier + (binary_expression "(uint)(byte)pcVar8[iVar16] * 2" (cast_expression "(uint)(byte)pcVar8[iVar16]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcVar8[iVar16]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcVar8[iVar16]" identifier [ identifier ]))) * number_literal)) ))))) ;) (if_statement "if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" if (parenthesized_expression "((uVar2 & 0x8c) != 0)" ( (binary_expression "(uVar2 & 0x8c) != 0" (parenthesized_expression "(uVar2 & 0x8c)" ( (binary_expression "uVar2 & 0x8c" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" { (if_statement "if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }" if (parenthesized_expression "((uVar2 & 4) == 0)" ( (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" ( (binary_expression "uVar2 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }" { (if_statement "if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }" if (parenthesized_expression "((uVar2 & 0x80) == 0)" ( (binary_expression "(uVar2 & 0x80) == 0" (parenthesized_expression "(uVar2 & 0x80)" ( (binary_expression "uVar2 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar13 = iVar13 + -0x57;\n            }" { (expression_statement "iVar13 = iVar13 + -0x57;" (assignment_expression "iVar13 = iVar13 + -0x57" identifier = (binary_expression "iVar13 + -0x57" identifier + number_literal)) ;) }) (else_clause "else {\n              iVar13 = iVar13 + -0x37;\n            }" else (compound_statement "{\n              iVar13 = iVar13 + -0x37;\n            }" { (expression_statement "iVar13 = iVar13 + -0x37;" (assignment_expression "iVar13 = iVar13 + -0x37" identifier = (binary_expression "iVar13 + -0x37" identifier + number_literal)) ;) }))) }) (else_clause "else {\n            iVar13 = iVar13 + -0x30;\n          }" else (compound_statement "{\n            iVar13 = iVar13 + -0x30;\n          }" { (expression_statement "iVar13 = iVar13 + -0x30;" (assignment_expression "iVar13 = iVar13 + -0x30" identifier = (binary_expression "iVar13 + -0x30" identifier + number_literal)) ;) }))) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) (if_statement "if (param_3 == (int *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) (expression_statement "piVar10 = param_3;" (assignment_expression "piVar10 = param_3" identifier = identifier) ;) (if_statement "if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;" if (parenthesized_expression "(param_3[10] != iVar13 + -1)" ( (binary_expression "param_3[10] != iVar13 + -1" (subscript_expression "param_3[10]" identifier [ number_literal ]) != (binary_expression "iVar13 + -1" identifier + number_literal)) )) (goto_statement "goto LAB_0003afe0;" goto statement_identifier ;)) (expression_statement "iVar13 = param_3[8];" (assignment_expression "iVar13 = param_3[8]" identifier = (subscript_expression "param_3[8]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0003b130;" goto statement_identifier ;) })) })) })) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe0c)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe0c" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }" { (if_statement "if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" if (parenthesized_expression "(iVar13 != 0x22)" ( (binary_expression "iVar13 != 0x22" identifier != number_literal) )) (compound_statement "{\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" { (labeled_statement "LAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" statement_identifier : (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }" { (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;" statement_identifier : (if_statement "if (iVar7 != 0) goto LAB_0003aed0;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003aed0;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" else (compound_statement "{\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" { (labeled_statement "LAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" statement_identifier : (if_statement "if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" if (parenthesized_expression "(iVar13 == 10)" ( (binary_expression "iVar13 == 10" identifier == number_literal) )) (compound_statement "{\n          local_54 = local_54 + 1;\n        }" { (expression_statement "local_54 = local_54 + 1;" (assignment_expression "local_54 = local_54 + 1" identifier = (binary_expression "local_54 + 1" identifier + number_literal)) ;) }))) })))) (labeled_statement "LAB_0003abb0:\n      pcVar12 = pcVar12 + 1;" statement_identifier : (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" identifier (argument_list "(param_2,iVar13)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar9 <= pcVar12) goto LAB_0003abd4;" if (parenthesized_expression "(pcVar9 <= pcVar12)" ( (binary_expression "pcVar9 <= pcVar12" identifier <= identifier) )) (goto_statement "goto LAB_0003abd4;" goto statement_identifier ;)) (goto_statement "goto LAB_0003ab40;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" else (compound_statement "{\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" { (if_statement "if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" if (parenthesized_expression "(((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))))" ( (binary_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" (parenthesized_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0)" ( (binary_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0" (parenthesized_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2)" ( (binary_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2" (subscript_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8]" identifier [ (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" ( identifier )) * identifier) ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" ( (parenthesized_expression "((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))" ( (binary_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" (parenthesized_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0))" ( (binary_expression "local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (binary_expression "local_5c == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" ( (parenthesized_expression "(pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))" ( (binary_expression "pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)" (binary_expression "pcVar12 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(pcVar8[-1] == (code)0x40)" ( (binary_expression "pcVar8[-1] == (code)0x40" (subscript_expression "pcVar8[-1]" identifier [ number_literal ]) == (cast_expression "(code)0x40" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) ))) )) (compound_statement "{\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" { (if_statement "if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" if (parenthesized_expression "((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))))" ( (binary_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" (parenthesized_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0))" ( (binary_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" (parenthesized_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14))" ( (binary_expression "(param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" ( (comma_expression "pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14" (assignment_expression "pcVar14 = pcVar12 + 5" identifier = (binary_expression "pcVar12 + 5" identifier + number_literal)) , (binary_expression "pcVar9 <= pcVar14" identifier <= identifier)) ))) )) || (parenthesized_expression "(iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" identifier = (call_expression "(*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000b6618)" ( (pointer_expression "*(code *)PTR_strncasecmp_000b6618" * (cast_expression "(code *)PTR_strncasecmp_000b6618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d3c" identifier + number_literal) , number_literal )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" ( (parenthesized_expression "(pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))" ( (binary_expression "pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)" (binary_expression "pcVar14[iVar16] != (code)0x20" (subscript_expression "pcVar14[iVar16]" identifier [ identifier ]) != (cast_expression "(code)0x20" ( (type_descriptor "code" type_identifier) ) number_literal)) && (parenthesized_expression "(pcVar14[iVar16] != (code)0x9)" ( (binary_expression "pcVar14[iVar16] != (code)0x9" (subscript_expression "pcVar14[iVar16]" identifier [ identifier ]) != (cast_expression "(code)0x9" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) ))) )) (compound_statement "{\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" { (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;) (if_statement "if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" if (parenthesized_expression "((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0))" ( (binary_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)" (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(uVar4 = 0x40, local_5c == 0)" ( (comma_expression "uVar4 = 0x40, local_5c == 0" (assignment_expression "uVar4 = 0x40" identifier = number_literal) , (binary_expression "local_5c == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" { (labeled_statement "LAB_0003ae48:\n          uVar4 = 0x27;" statement_identifier : (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" identifier = number_literal) ;)) })) (labeled_statement "LAB_0003ae50:\n        uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (expression_statement "pcVar8 = pcVar12;" (assignment_expression "pcVar8 = pcVar12" identifier = identifier) ;) (goto_statement "goto LAB_0003ad4c;" goto statement_identifier ;) })) (if_statement "if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (compound_statement "{\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" { (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (if_statement "if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;" if (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" ( (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003ae48;" goto statement_identifier ;)) (expression_statement "uVar4 = 0x40;" (assignment_expression "uVar4 = 0x40" identifier = number_literal) ;) (goto_statement "goto LAB_0003ae50;" goto statement_identifier ;) })) (expression_statement "pcVar8 = (code *)sb_skip_white(pcVar14,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_white(pcVar14,param_1)" identifier = (cast_expression "(code *)sb_skip_white(pcVar14,param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sb_skip_white(pcVar14,param_1)" identifier (argument_list "(pcVar14,param_1)" ( identifier , identifier ))))) ;) (if_statement "if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;" if (parenthesized_expression "(pcVar8[*param_1] == (code)0xa)" ( (binary_expression "pcVar8[*param_1] == (code)0xa" (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ]) == (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0003ad60;" goto statement_identifier ;)) (expression_statement "local_3c = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_3c = PTR_mips_opcodes_000b5cd0" identifier = identifier) ;) (expression_statement "local_34 = auStack_80;" (assignment_expression "local_34 = auStack_80" identifier = identifier) ;) (expression_statement "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);" (assignment_expression "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0)" identifier = (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5ad0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_000b6120 + -0x5ad0)" ( (binary_expression "PTR_LAB_000b6120 + -0x5ad0" identifier + number_literal) )))) ;) (expression_statement "local_44 = PTR_LAB_000b5cb8 + 0x6d4c;" (assignment_expression "local_44 = PTR_LAB_000b5cb8 + 0x6d4c" identifier = (binary_expression "PTR_LAB_000b5cb8 + 0x6d4c" identifier + number_literal)) ;) (expression_statement "local_38 = PTR_LAB_000b5cb8 + 0x6d44;" (assignment_expression "local_38 = PTR_LAB_000b5cb8 + 0x6d44" identifier = (binary_expression "PTR_LAB_000b5cb8 + 0x6d44" identifier + number_literal)) ;) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" identifier = identifier) ;) (expression_statement "local_30 = puVar11;" (assignment_expression "local_30 = puVar11" identifier = identifier) ;) (expression_statement "local_2c = iVar6;" (assignment_expression "local_2c = iVar6" identifier = identifier) ;) (goto_statement "goto LAB_0003b314;" goto statement_identifier ;) })) (if_statement "if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" if (parenthesized_expression "(iVar13 != 0x22)" ( (binary_expression "iVar13 != 0x22" identifier != number_literal) )) (compound_statement "{\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" { (if_statement "if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;" if (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" ( (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" * (cast_expression "(int *)(local_60 + -0xe10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xe10)" ( (binary_expression "local_60 + -0xe10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0003ab8c;" goto statement_identifier ;)) (if_statement "if (iVar13 == 0x27) goto LAB_0003ae70;" if (parenthesized_expression "(iVar13 == 0x27)" ( (binary_expression "iVar13 == 0x27" identifier == number_literal) )) (goto_statement "goto LAB_0003ae70;" goto statement_identifier ;)) (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" if (parenthesized_expression "(iVar13 == 0x40)" ( (binary_expression "iVar13 == 0x40" identifier == number_literal) )) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" { (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" identifier = (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" * (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" ( (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0003b104;" goto statement_identifier ;) })) (if_statement "if (iVar13 != 0x3d) goto LAB_0003ab98;" if (parenthesized_expression "(iVar13 != 0x3d)" ( (binary_expression "iVar13 != 0x3d" identifier != number_literal) )) (goto_statement "goto LAB_0003ab98;" goto statement_identifier ;)) (if_statement "if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;" if (parenthesized_expression "((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d))" ( (binary_expression "(pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)" (parenthesized_expression "(pcVar9 <= pcVar12 + 1)" ( (binary_expression "pcVar9 <= pcVar12 + 1" identifier <= (binary_expression "pcVar12 + 1" identifier + number_literal)) )) || (parenthesized_expression "((pcVar12 + 1)[iVar16] != (code)0x3d)" ( (binary_expression "(pcVar12 + 1)[iVar16] != (code)0x3d" (subscript_expression "(pcVar12 + 1)[iVar16]" (parenthesized_expression "(pcVar12 + 1)" ( (binary_expression "pcVar12 + 1" identifier + number_literal) )) [ identifier ]) != (cast_expression "(code)0x3d" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_0003abb0;" goto statement_identifier ;)) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" identifier (argument_list "(puVar11)" ( identifier ))) ;) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" identifier = (cast_expression "(code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (parenthesized_expression "(*local_4c)" ( (pointer_expression "*local_4c" * identifier) )) (argument_list "(pcVar12 + 2,param_1,param_1 + 1,puVar11)" ( (binary_expression "pcVar12 + 2" identifier + number_literal) , identifier , (binary_expression "param_1 + 1" identifier + number_literal) , identifier ))))) ;) (expression_statement "uVar4 = sb_terminate(puVar11);" (assignment_expression "uVar4 = sb_terminate(puVar11)" identifier = (call_expression "sb_terminate(puVar11)" identifier (argument_list "(puVar11)" ( identifier )))) ;) (expression_statement "iVar13 = hash_find(param_4,uVar4);" (assignment_expression "iVar13 = hash_find(param_4,uVar4)" identifier = (call_expression "hash_find(param_4,uVar4)" identifier (argument_list "(param_4,uVar4)" ( identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }" { (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" identifier (argument_list "(param_2,0x3d)" ( identifier , number_literal ))) ;) (expression_statement "sb_add_sb(param_2,puVar11);" (call_expression "sb_add_sb(param_2,puVar11)" identifier (argument_list "(param_2,puVar11)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" else (if_statement "if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" if (parenthesized_expression "(*(int *)(iVar13 + 0x20) == 0)" ( (binary_expression "*(int *)(iVar13 + 0x20) == 0" (pointer_expression "*(int *)(iVar13 + 0x20)" * (cast_expression "(int *)(iVar13 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }" { (expression_statement "sb_add_char(param_2,0x30);" (call_expression "sb_add_char(param_2,0x30)" identifier (argument_list "(param_2,0x30)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" else (compound_statement "{\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" { (expression_statement "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);" (call_expression "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88)" identifier (argument_list "(param_2,PTR_LAB_000b5cb8 + 0x6d88)" ( identifier , (binary_expression "PTR_LAB_000b5cb8 + 0x6d88" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }))))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0003ae70:\n  local_50 = pcVar12 + 1;" statement_identifier : (expression_statement "local_50 = pcVar12 + 1;" (assignment_expression "local_50 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (expression_statement "local_5c = local_5c ^ 1;" (assignment_expression "local_5c = local_5c ^ 1" identifier = (binary_expression "local_5c ^ 1" identifier ^ number_literal)) ;) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" identifier (argument_list "(param_2,iVar13)" ( identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar8 = local_50;" (assignment_expression "pcVar8 = local_50" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "joined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;" statement_identifier : (if_statement "if (cVar1 == (code)0x29) goto LAB_0003b114;" if (parenthesized_expression "(cVar1 == (code)0x29)" ( (binary_expression "cVar1 == (code)0x29" identifier == (cast_expression "(code)0x29" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0003b114;" goto statement_identifier ;))) (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;) (expression_statement "sb_add_char(param_2);" (call_expression "sb_add_char(param_2)" identifier (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" if (parenthesized_expression "(pcVar9 <= pcVar8)" ( (binary_expression "pcVar9 <= pcVar8" identifier <= identifier) )) (goto_statement "goto LAB_0003b084;" goto statement_identifier ;)) (expression_statement "cVar1 = pcVar8[*param_1];" (assignment_expression "cVar1 = pcVar8[*param_1]" identifier = (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ])) ;) (goto_statement "goto joined_r0x0003b040;" goto statement_identifier ;) (labeled_statement "LAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" statement_identifier : (if_statement "if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" else (compound_statement "{\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "uVar17 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar17 = *(undefined4 *)(param_5 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" * (cast_expression "(undefined4 *)(param_5 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar13 = local_54 + *(int *)(param_5 + 0x20)" identifier = (binary_expression "local_54 + *(int *)(param_5 + 0x20)" identifier + (pointer_expression "*(int *)(param_5 + 0x20)" * (cast_expression "(int *)(param_5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x20)" ( (binary_expression "param_5 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" ( number_literal , (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" identifier + number_literal) , number_literal )))) ;) (expression_statement "as_bad_where(uVar17,iVar13,uVar4);" (call_expression "as_bad_where(uVar17,iVar13,uVar4)" identifier (argument_list "(uVar17,iVar13,uVar4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003b114:\n  pcVar8 = pcVar8 + 1;" statement_identifier : (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" identifier = (binary_expression "pcVar8 + 1" identifier + number_literal)) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (while_statement "while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" while (parenthesized_expression "(piVar10[10] != iVar13 + -1)" ( (binary_expression "piVar10[10] != iVar13 + -1" (subscript_expression "piVar10[10]" identifier [ number_literal ]) != (binary_expression "iVar13 + -1" identifier + number_literal)) )) (compound_statement "{\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" { (labeled_statement "LAB_0003afe0:\n    piVar10 = (int *)*piVar10;" statement_identifier : (expression_statement "piVar10 = (int *)*piVar10;" (assignment_expression "piVar10 = (int *)*piVar10" identifier = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;)) (if_statement "if (piVar10 == (int *)0x0) goto LAB_0003afec;" if (parenthesized_expression "(piVar10 == (int *)0x0)" ( (binary_expression "piVar10 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0003afec;" goto statement_identifier ;)) })) (expression_statement "iVar13 = piVar10[8];" (assignment_expression "iVar13 = piVar10[8]" identifier = (subscript_expression "piVar10[8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" statement_identifier : (if_statement "if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "sb_add_sb(param_2,piVar10 + 4);" (call_expression "sb_add_sb(param_2,piVar10 + 4)" identifier (argument_list "(param_2,piVar10 + 4)" ( identifier , (binary_expression "piVar10 + 4" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" else (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" { (expression_statement "sb_add_sb(param_2,piVar10 + 7);" (call_expression "sb_add_sb(param_2,piVar10 + 7)" identifier (argument_list "(param_2,piVar10 + 7)" ( identifier , (binary_expression "piVar10 + 7" identifier + number_literal) ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) })))) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003afec:\n  iVar6 = 0;" statement_identifier : (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" statement_identifier : (do_statement "do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" do (compound_statement "{\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  }" { (expression_statement "piVar5 = (int *)(*local_50)();" (assignment_expression "piVar5 = (int *)(*local_50)()" identifier = (cast_expression "(int *)(*local_50)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_50)()" (parenthesized_expression "(*local_50)" ( (pointer_expression "*local_50" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" identifier = (cast_expression "(code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (parenthesized_expression "(*local_4c)" ( (pointer_expression "*local_4c" * identifier) )) (argument_list "(pcVar8,param_1,param_1 + 1,piVar5 + 1)" ( identifier , identifier , (binary_expression "param_1 + 1" identifier + number_literal) , (binary_expression "piVar5 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" identifier = (call_expression "sb_terminate(piVar5 + 1)" identifier (argument_list "(piVar5 + 1)" ( (binary_expression "piVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar6 = hash_find(param_4,uVar4);" (assignment_expression "iVar6 = hash_find(param_4,uVar4)" identifier = (call_expression "hash_find(param_4,uVar4)" identifier (argument_list "(param_4,uVar4)" ( identifier , identifier )))) ;) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" identifier = identifier) ;) (expression_statement "puVar3 = PTR_sprintf_000b65a0;" (assignment_expression "puVar3 = PTR_sprintf_000b65a0" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }" { (expression_statement "iVar6 = *(int *)(local_3c + -0xe20);" (assignment_expression "iVar6 = *(int *)(local_3c + -0xe20)" identifier = (pointer_expression "*(int *)(local_3c + -0xe20)" * (cast_expression "(int *)(local_3c + -0xe20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xe20)" ( (binary_expression "local_3c + -0xe20" identifier + number_literal) ))))) ;) (expression_statement "*piVar5 = (int)local_40;" (assignment_expression "*piVar5 = (int)local_40" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[10] = -3;" (assignment_expression "piVar5[10] = -3" (subscript_expression "piVar5[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(int *)(local_3c + -0xe20) = iVar6 + 1;" (assignment_expression "*(int *)(local_3c + -0xe20) = iVar6 + 1" (pointer_expression "*(int *)(local_3c + -0xe20)" * (cast_expression "(int *)(local_3c + -0xe20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xe20)" ( (binary_expression "local_3c + -0xe20" identifier + number_literal) )))) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)puVar3)(local_34,local_38,iVar6 + 1);" (call_expression "(*(code *)puVar3)(local_34,local_38,iVar6 + 1)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34,local_38,iVar6 + 1)" ( identifier , identifier , (binary_expression "iVar6 + 1" identifier + number_literal) ))) ;) (expression_statement "sb_add_string(piVar5 + 7,puVar11);" (call_expression "sb_add_string(piVar5 + 7,puVar11)" identifier (argument_list "(piVar5 + 7,puVar11)" ( (binary_expression "piVar5 + 7" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = hash_jam(param_4,uVar4,piVar5);" (assignment_expression "iVar6 = hash_jam(param_4,uVar4,piVar5)" identifier = (call_expression "hash_jam(param_4,uVar4,piVar5)" identifier (argument_list "(param_4,uVar4,piVar5)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" { (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" else (compound_statement "{\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" { (expression_statement "uVar15 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(param_5 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" * (cast_expression "(undefined4 *)(param_5 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar6 = local_54 + *(int *)(param_5 + 0x20)" identifier = (binary_expression "local_54 + *(int *)(param_5 + 0x20)" identifier + (pointer_expression "*(int *)(param_5 + 0x20)" * (cast_expression "(int *)(param_5 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x20)" ( (binary_expression "param_5 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);" (assignment_expression "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" ( (pointer_expression "*(code *)PTR_dcgettext_000b6750" * (cast_expression "(code *)PTR_dcgettext_000b6750" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_44,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "as_bad_where(uVar15,iVar6,uVar17,uVar4);" (call_expression "as_bad_where(uVar15,iVar6,uVar17,uVar4)" identifier (argument_list "(uVar15,iVar6,uVar17,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*local_48)(piVar5);" (call_expression "(*local_48)(piVar5)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(piVar5)" ( identifier ))) ;) }))) (expression_statement "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1)" identifier = (cast_expression "(code *)sb_skip_comma(pcVar8,param_1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sb_skip_comma(pcVar8,param_1)" identifier (argument_list "(pcVar8,param_1)" ( identifier , identifier ))))) ;) }) while (parenthesized_expression "(pcVar8[*param_1] != (code)0xa)" ( (binary_expression "pcVar8[*param_1] != (code)0xa" (subscript_expression "pcVar8[*param_1]" identifier [ (pointer_expression "*param_1" * identifier) ]) != (cast_expression "(code)0xa" ( (type_descriptor "code" type_identifier) ) number_literal)) )) ;)) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "piVar5 = local_40;" (assignment_expression "piVar5 = local_40" identifier = identifier) ;) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" identifier = identifier) ;) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" identifier = identifier) ;) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) (labeled_statement "LAB_0003aed0:\n  pcVar8 = pcVar12 + 1;" statement_identifier : (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" identifier = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;)) (if_statement "if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" if (parenthesized_expression "((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40))" ( (binary_expression "(pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)" (parenthesized_expression "(pcVar8 < pcVar9)" ( (binary_expression "pcVar8 < pcVar9" identifier < identifier) )) && (parenthesized_expression "(pcVar8[iVar16] == (code)0x40)" ( (binary_expression "pcVar8[iVar16] == (code)0x40" (subscript_expression "pcVar8[iVar16]" identifier [ identifier ]) == (cast_expression "(code)0x40" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) (compound_statement "{\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" { (expression_statement "sb_add_char(param_2,0x40);" (call_expression "sb_add_char(param_2,0x40)" identifier (argument_list "(param_2,0x40)" ( identifier , number_literal ))) ;) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" identifier = (cast_expression "(code *)param_1[1]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" identifier = (binary_expression "pcVar12 + 2" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0003ab34;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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 = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ]))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ]))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (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 IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (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)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement 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) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT <= IDENT)) ))) )) || (parenthesized_expression ( (comma_expression (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) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ IDENT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_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 = LIT) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_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 ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (pointer_expression * IDENT) ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 == 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 IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) [ IDENT ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (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 * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (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 ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }))))) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (pointer_expression * IDENT) ])) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (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 ]))) ;) })))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (binary_expression IDENT + LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (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 IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })))) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = 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 *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (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 = (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (pointer_expression * IDENT) ]) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)\n\n{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" (primitive_type "int") (function_declarator "FUN_0003aa90(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" (identifier "FUN_0003aa90") (parameter_list "(int *param_1,undefined4 param_2,int *param_3,undefined4 param_4,int param_5)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  code cVar1;\n  ushort uVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  int iVar6;\n  int iVar7;\n  code *pcVar8;\n  code *pcVar9;\n  int *piVar10;\n  undefined1 *puVar11;\n  code *pcVar12;\n  int iVar13;\n  code *pcVar14;\n  undefined4 uVar15;\n  int iVar16;\n  undefined4 uVar17;\n  undefined1 auStack_80 [20];\n  undefined1 auStack_6c [12];\n  undefined *local_60;\n  uint local_5c;\n  code *local_58;\n  int local_54;\n  code *local_50;\n  code *local_4c;\n  code *local_48;\n  undefined *local_44;\n  int *local_40;\n  undefined *local_3c;\n  undefined *local_38;\n  undefined1 *local_34;\n  undefined1 *local_30;\n  int local_2c;\n  \n  local_60 = PTR_mips_opcodes_000b5cd0;\n  sb_new(auStack_6c);\n  pcVar9 = (code *)param_1[1];\n  local_54 = 0;\n  local_5c = 0;\n  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);\n  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);\n  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);\n  piVar5 = (int *)0x0;\n  puVar11 = auStack_6c;\n  iVar6 = 0;\n  pcVar8 = (code *)0x0;\nLAB_0003ab34:\n  pcVar12 = pcVar8;\n  if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }\nLAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;\n  iVar16 = *param_1;\n  pcVar8 = pcVar12 + iVar16;\n  iVar13 = (int)(char)*pcVar8;\n  if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }\n  if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }\n  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }\nLAB_0003ae70:\n  local_50 = pcVar12 + 1;\n  local_5c = local_5c ^ 1;\n  sb_add_char(param_2,iVar13);\n  pcVar9 = (code *)param_1[1];\n  pcVar8 = local_50;\n  goto LAB_0003ab34;\njoined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;\n  pcVar8 = pcVar8 + 1;\n  sb_add_char(param_2);\n  pcVar9 = (code *)param_1[1];\n  if (pcVar9 <= pcVar8) goto LAB_0003b084;\n  cVar1 = pcVar8[*param_1];\n  goto joined_r0x0003b040;\nLAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003b114:\n  pcVar8 = pcVar8 + 1;\n  goto LAB_0003ab34;\n  while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }\n  iVar13 = piVar10[8];\nLAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }\n  goto LAB_0003ab34;\nLAB_0003afec:\n  iVar6 = 0;\n  goto LAB_0003ab34;\nLAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);\n  pcVar9 = (code *)param_1[1];\n  piVar5 = local_40;\n  puVar11 = local_30;\n  iVar6 = local_2c;\n  goto LAB_0003ab34;\nLAB_0003aed0:\n  pcVar8 = pcVar12 + 1;\n  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }\n  goto LAB_0003ab34;\n}" ({ "{") (declaration "code cVar1;" (type_identifier "code") (identifier "cVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "code *pcVar8;" (type_identifier "code") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined1 *puVar11;" (type_identifier "undefined1") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "code *pcVar12;" (type_identifier "code") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "undefined1 auStack_80 [20];" (type_identifier "undefined1") (array_declarator "auStack_80 [20]" (identifier "auStack_80") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "undefined1 auStack_6c [12];" (type_identifier "undefined1") (array_declarator "auStack_6c [12]" (identifier "auStack_6c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined *local_60;" (type_identifier "undefined") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "code *local_58;" (type_identifier "code") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "code *local_50;" (type_identifier "code") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "code *local_4c;" (type_identifier "code") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "code *local_48;" (type_identifier "code") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined *local_44;" (type_identifier "undefined") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "int *local_40;" (primitive_type "int") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined *local_3c;" (type_identifier "undefined") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined *local_38;" (type_identifier "undefined") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined1 *local_34;" (type_identifier "undefined1") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined1 *local_30;" (type_identifier "undefined1") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "local_60 = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_60 = PTR_mips_opcodes_000b5cd0" (identifier "local_60") (= "=") (identifier "PTR_mips_opcodes_000b5cd0")) (; ";")) (expression_statement "sb_new(auStack_6c);" (call_expression "sb_new(auStack_6c)" (identifier "sb_new") (argument_list "(auStack_6c)" (( "(") (identifier "auStack_6c") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);" (assignment_expression "local_4c = (code *)(PTR_LAB_000b6120 + -0x5960)" (identifier "local_4c") (= "=") (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5960)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b6120 + -0x5960)" (( "(") (binary_expression "PTR_LAB_000b6120 + -0x5960" (identifier "PTR_LAB_000b6120") (+ "+") (number_literal "-0x5960")) () ")")))) (; ";")) (expression_statement "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);" (assignment_expression "local_58 = (code *)(PTR_LAB_000b6120 + -0x5814)" (identifier "local_58") (= "=") (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5814)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b6120 + -0x5814)" (( "(") (binary_expression "PTR_LAB_000b6120 + -0x5814" (identifier "PTR_LAB_000b6120") (+ "+") (number_literal "-0x5814")) () ")")))) (; ";")) (expression_statement "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);" (assignment_expression "local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58)" (identifier "local_48") (= "=") (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5a58)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b6120 + -0x5a58)" (( "(") (binary_expression "PTR_LAB_000b6120 + -0x5a58" (identifier "PTR_LAB_000b6120") (+ "+") (number_literal "-0x5a58")) () ")")))) (; ";")) (expression_statement "piVar5 = (int *)0x0;" (assignment_expression "piVar5 = (int *)0x0" (identifier "piVar5") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar11 = auStack_6c;" (assignment_expression "puVar11 = auStack_6c" (identifier "puVar11") (= "=") (identifier "auStack_6c")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar8 = (code *)0x0;" (assignment_expression "pcVar8 = (code *)0x0" (identifier "pcVar8") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_0003ab34:\n  pcVar12 = pcVar8;" (statement_identifier "LAB_0003ab34") (: ":") (expression_statement "pcVar12 = pcVar8;" (assignment_expression "pcVar12 = pcVar8" (identifier "pcVar12") (= "=") (identifier "pcVar8")) (; ";"))) (if_statement "if (pcVar9 <= pcVar8) {\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" (if "if") (parenthesized_expression "(pcVar9 <= pcVar8)" (( "(") (binary_expression "pcVar9 <= pcVar8" (identifier "pcVar9") (<= "<=") (identifier "pcVar8")) () ")")) (compound_statement "{\nLAB_0003abd4:\n    sb_kill(puVar11);\n    while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }\n    return iVar6;\n  }" ({ "{") (labeled_statement "LAB_0003abd4:\n    sb_kill(puVar11);" (statement_identifier "LAB_0003abd4") (: ":") (expression_statement "sb_kill(puVar11);" (call_expression "sb_kill(puVar11)" (identifier "sb_kill") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";"))) (while_statement "while (piVar5 != (int *)0x0) {\n      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" (while "while") (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      piVar10 = (int *)*piVar5;\n      uVar4 = sb_terminate(piVar5 + 1);\n      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);\n      FUN_0003a5a8(piVar5);\n      piVar5 = piVar10;\n    }" ({ "{") (expression_statement "piVar10 = (int *)*piVar5;" (assignment_expression "piVar10 = (int *)*piVar5" (identifier "piVar10") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" (identifier "uVar4") (= "=") (call_expression "sb_terminate(piVar5 + 1)" (identifier "sb_terminate") (argument_list "(piVar5 + 1)" (( "(") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "hash_delete(param_4,uVar4,piVar10 == (int *)0x0);" (call_expression "hash_delete(param_4,uVar4,piVar10 == (int *)0x0)" (identifier "hash_delete") (argument_list "(param_4,uVar4,piVar10 == (int *)0x0)" (( "(") (identifier "param_4") (, ",") (identifier "uVar4") (, ",") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) (; ";")) (expression_statement "FUN_0003a5a8(piVar5);" (call_expression "FUN_0003a5a8(piVar5)" (identifier "FUN_0003a5a8") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "piVar5 = piVar10;" (assignment_expression "piVar5 = piVar10" (identifier "piVar5") (= "=") (identifier "piVar10")) (; ";")) (} "}"))) (return_statement "return iVar6;" (return "return") (identifier "iVar6") (; ";")) (} "}"))) (labeled_statement "LAB_0003ab40:\n  if (iVar6 != 0) goto LAB_0003abd4;" (statement_identifier "LAB_0003ab40") (: ":") (if_statement "if (iVar6 != 0) goto LAB_0003abd4;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003abd4;" (goto "goto") (statement_identifier "LAB_0003abd4") (; ";")))) (expression_statement "iVar16 = *param_1;" (assignment_expression "iVar16 = *param_1" (identifier "iVar16") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "pcVar8 = pcVar12 + iVar16;" (assignment_expression "pcVar8 = pcVar12 + iVar16" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + iVar16" (identifier "pcVar12") (+ "+") (identifier "iVar16"))) (; ";")) (expression_statement "iVar13 = (int)(char)*pcVar8;" (assignment_expression "iVar13 = (int)(char)*pcVar8" (identifier "iVar13") (= "=") (cast_expression "(int)(char)*pcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*pcVar8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8"))))) (; ";")) (if_statement "if (iVar13 == 0x26) {\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" (if "if") (parenthesized_expression "(iVar13 == 0x26)" (( "(") (binary_expression "iVar13 == 0x26" (identifier "iVar13") (== "==") (number_literal "0x26")) () ")")) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    sb_reset(puVar11);\n    if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }\n    goto LAB_0003ab34;\n  }" ({ "{") (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" (identifier "sb_reset") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";")) (if_statement "if (*(int *)(local_60 + -0xe10) == 0) {\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }\n    else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" (if "if") (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" (( "(") (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" (* "*") (cast_expression "(int *)(local_60 + -0xe10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + -0xe10)" (( "(") (binary_expression "local_60 + -0xe10" (identifier "local_60") (+ "+") (number_literal "-0xe10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar17 = 0;\n      uVar4 = 0x26;\nLAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);\nLAB_0003ad60:\n      pcVar9 = (code *)param_1[1];\n    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = 0x26;" (assignment_expression "uVar4 = 0x26" (identifier "uVar4") (= "=") (number_literal "0x26")) (; ";")) (labeled_statement "LAB_0003ad4c:\n      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" (statement_identifier "LAB_0003ad4c") (: ":") (expression_statement "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);" (assignment_expression "pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (parenthesized_expression "(*local_58)" (( "(") (pointer_expression "*local_58" (* "*") (identifier "local_58")) () ")")) (argument_list "(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17)" (( "(") (identifier "pcVar8") (, ",") (identifier "param_1") (, ",") (identifier "puVar11") (, ",") (identifier "param_4") (, ",") (identifier "uVar4") (, ",") (identifier "param_2") (, ",") (identifier "uVar17") () ")"))))) (; ";"))) (labeled_statement "LAB_0003ad60:\n      pcVar9 = (code *)param_1[1];" (statement_identifier "LAB_0003ad60") (: ":") (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (} "}")) (else_clause "else {\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" (else "else") (compound_statement "{\n      if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }\n      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);\n      pcVar9 = (code *)param_1[1];\n    }" ({ "{") (if_statement "if (pcVar8 < (code *)param_1[1]) {\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }\n      else {\n        iVar13 = *param_1;\n      }" (if "if") (parenthesized_expression "(pcVar8 < (code *)param_1[1])" (( "(") (binary_expression "pcVar8 < (code *)param_1[1]" (identifier "pcVar8") (< "<") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n        iVar13 = *param_1;\n        if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }\n      }" ({ "{") (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" (identifier "iVar13") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (pcVar8[iVar13] == (code)0x26) {\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" (if "if") (parenthesized_expression "(pcVar8[iVar13] == (code)0x26)" (( "(") (binary_expression "pcVar8[iVar13] == (code)0x26" (subscript_expression "pcVar8[iVar13]" (identifier "pcVar8") ([ "[") (identifier "iVar13") (] "]")) (== "==") (cast_expression "(code)0x26" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x26"))) () ")")) (compound_statement "{\n          uVar17 = 1;\n          uVar4 = 0x27;\n          pcVar8 = pcVar12 + 2;\n          goto LAB_0003ad4c;\n        }" ({ "{") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" (identifier "uVar4") (= "=") (number_literal "0x27")) (; ";")) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0003ad4c;" (goto "goto") (statement_identifier "LAB_0003ad4c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar13 = *param_1;\n      }" (else "else") (compound_statement "{\n        iVar13 = *param_1;\n      }" ({ "{") (expression_statement "iVar13 = *param_1;" (assignment_expression "iVar13 = *param_1" (identifier "iVar13") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}")))) (expression_statement "sb_add_char(param_2,(int)(char)pcVar12[iVar13]);" (call_expression "sb_add_char(param_2,(int)(char)pcVar12[iVar13])" (identifier "sb_add_char") (argument_list "(param_2,(int)(char)pcVar12[iVar13])" (( "(") (identifier "param_2") (, ",") (cast_expression "(int)(char)pcVar12[iVar13]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pcVar12[iVar13]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcVar12[iVar13]" (identifier "pcVar12") ([ "[") (identifier "iVar13") (] "]")))) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}"))) (if_statement "if (iVar13 == 0x5c) {\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" (if "if") (parenthesized_expression "(iVar13 == 0x5c)" (( "(") (binary_expression "iVar13 == 0x5c" (identifier "iVar13") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n    pcVar8 = pcVar12 + 1;\n    if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }\n    sb_reset(puVar11);\n    uVar17 = 0;\n    uVar4 = 0x27;\n    goto LAB_0003ad4c;\n  }" ({ "{") (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcVar8 < pcVar9) {\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(pcVar8 < pcVar9)" (( "(") (binary_expression "pcVar8 < pcVar9" (identifier "pcVar8") (< "<") (identifier "pcVar9")) () ")")) (compound_statement "{\n      iVar13 = (int)(char)pcVar8[iVar16];\n      if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }\n      if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }\n      if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }\n    }" ({ "{") (expression_statement "iVar13 = (int)(char)pcVar8[iVar16];" (assignment_expression "iVar13 = (int)(char)pcVar8[iVar16]" (identifier "iVar13") (= "=") (cast_expression "(int)(char)pcVar8[iVar16]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)pcVar8[iVar16]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pcVar8[iVar16]" (identifier "pcVar8") ([ "[") (identifier "iVar16") (] "]"))))) (; ";")) (if_statement "if (iVar13 == 0x28) {\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" (if "if") (parenthesized_expression "(iVar13 == 0x28)" (( "(") (binary_expression "iVar13 == 0x28" (identifier "iVar13") (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        if (pcVar9 <= pcVar8) goto LAB_0003b084;\n        cVar1 = pcVar8[iVar16];\n        goto joined_r0x0003b040;\n      }" ({ "{") (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" (if "if") (parenthesized_expression "(pcVar9 <= pcVar8)" (( "(") (binary_expression "pcVar9 <= pcVar8" (identifier "pcVar9") (<= "<=") (identifier "pcVar8")) () ")")) (goto_statement "goto LAB_0003b084;" (goto "goto") (statement_identifier "LAB_0003b084") (; ";"))) (expression_statement "cVar1 = pcVar8[iVar16];" (assignment_expression "cVar1 = pcVar8[iVar16]" (identifier "cVar1") (= "=") (subscript_expression "pcVar8[iVar16]" (identifier "pcVar8") ([ "[") (identifier "iVar16") (] "]"))) (; ";")) (goto_statement "goto joined_r0x0003b040;" (goto "goto") (statement_identifier "joined_r0x0003b040") (; ";")) (} "}"))) (if_statement "if (iVar13 == 0x40) {\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" (if "if") (parenthesized_expression "(iVar13 == 0x40)" (( "(") (binary_expression "iVar13 == 0x40" (identifier "iVar13") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        (*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));\n        sb_add_string(param_2,auStack_80);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" ({ "{") (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));" (call_expression "(*(code *)PTR_sprintf_000b65a0)\n                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" (parenthesized_expression "(*(code *)PTR_sprintf_000b65a0)" (( "(") (pointer_expression "*(code *)PTR_sprintf_000b65a0" (* "*") (cast_expression "(code *)PTR_sprintf_000b65a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sprintf_000b65a0"))) () ")")) (argument_list "(auStack_80,PTR_s_operand_000b5e4c + -0x6960,\n                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c))" (( "(") (identifier "auStack_80") (, ",") (binary_expression "PTR_s_operand_000b5e4c + -0x6960" (identifier "PTR_s_operand_000b5e4c") (+ "+") (number_literal "-0x6960")) (, ",") (pointer_expression "*(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" (* "*") (cast_expression "(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe1c)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe1c" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe1c")) () ")")))) () ")"))) (; ";")) (expression_statement "sb_add_string(param_2,auStack_80);" (call_expression "sb_add_string(param_2,auStack_80)" (identifier "sb_add_string") (argument_list "(param_2,auStack_80)" (( "(") (identifier "param_2") (, ",") (identifier "auStack_80") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}"))) (if_statement "if (iVar13 == 0x26) {\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" (if "if") (parenthesized_expression "(iVar13 == 0x26)" (( "(") (binary_expression "iVar13 == 0x26" (identifier "iVar13") (== "==") (number_literal "0x26")) () ")")) (compound_statement "{\n        pcVar8 = pcVar12 + 2;\n        sb_add_char(param_2,0x5c);\n        sb_add_char(param_2,0x26);\n        pcVar9 = (code *)param_1[1];\n        goto LAB_0003ab34;\n      }" ({ "{") (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "sb_add_char(param_2,0x5c);" (call_expression "sb_add_char(param_2,0x5c)" (identifier "sb_add_char") (argument_list "(param_2,0x5c)" (( "(") (identifier "param_2") (, ",") (number_literal "0x5c") () ")"))) (; ";")) (expression_statement "sb_add_char(param_2,0x26);" (call_expression "sb_add_char(param_2,0x26)" (identifier "sb_add_char") (argument_list "(param_2,0x26)" (( "(") (identifier "param_2") (, ",") (number_literal "0x26") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}"))) (if_statement "if (*(int *)(local_60 + -0xe10) != 0) {\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(local_60 + -0xe10) != 0)" (( "(") (binary_expression "*(int *)(local_60 + -0xe10) != 0" (pointer_expression "*(int *)(local_60 + -0xe10)" (* "*") (cast_expression "(int *)(local_60 + -0xe10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + -0xe10)" (( "(") (binary_expression "local_60 + -0xe10" (identifier "local_60") (+ "+") (number_literal "-0xe10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);\n        if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }\n      }" ({ "{") (expression_statement "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);" (assignment_expression "uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" (* "*") (cast_expression "(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2)" (( "(") (binary_expression "PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2" (identifier "PTR__sch_istable_000b6714") (+ "+") (binary_expression "(uint)(byte)pcVar8[iVar16] * 2" (cast_expression "(uint)(byte)pcVar8[iVar16]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcVar8[iVar16]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcVar8[iVar16]" (identifier "pcVar8") ([ "[") (identifier "iVar16") (] "]")))) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if ((uVar2 & 0x8c) != 0) {\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" (if "if") (parenthesized_expression "((uVar2 & 0x8c) != 0)" (( "(") (binary_expression "(uVar2 & 0x8c) != 0" (parenthesized_expression "(uVar2 & 0x8c)" (( "(") (binary_expression "uVar2 & 0x8c" (identifier "uVar2") (& "&") (number_literal "0x8c")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }\n          pcVar8 = pcVar12 + 2;\n          if (param_3 == (int *)0x0) goto LAB_0003afec;\n          piVar10 = param_3;\n          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;\n          iVar13 = param_3[8];\n          goto LAB_0003b130;\n        }" ({ "{") (if_statement "if ((uVar2 & 4) == 0) {\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }\n          else {\n            iVar13 = iVar13 + -0x30;\n          }" (if "if") (parenthesized_expression "((uVar2 & 4) == 0)" (( "(") (binary_expression "(uVar2 & 4) == 0" (parenthesized_expression "(uVar2 & 4)" (( "(") (binary_expression "uVar2 & 4" (identifier "uVar2") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }\n          }" ({ "{") (if_statement "if ((uVar2 & 0x80) == 0) {\n              iVar13 = iVar13 + -0x57;\n            }\n            else {\n              iVar13 = iVar13 + -0x37;\n            }" (if "if") (parenthesized_expression "((uVar2 & 0x80) == 0)" (( "(") (binary_expression "(uVar2 & 0x80) == 0" (parenthesized_expression "(uVar2 & 0x80)" (( "(") (binary_expression "uVar2 & 0x80" (identifier "uVar2") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar13 = iVar13 + -0x57;\n            }" ({ "{") (expression_statement "iVar13 = iVar13 + -0x57;" (assignment_expression "iVar13 = iVar13 + -0x57" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -0x57" (identifier "iVar13") (+ "+") (number_literal "-0x57"))) (; ";")) (} "}")) (else_clause "else {\n              iVar13 = iVar13 + -0x37;\n            }" (else "else") (compound_statement "{\n              iVar13 = iVar13 + -0x37;\n            }" ({ "{") (expression_statement "iVar13 = iVar13 + -0x37;" (assignment_expression "iVar13 = iVar13 + -0x37" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -0x37" (identifier "iVar13") (+ "+") (number_literal "-0x37"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            iVar13 = iVar13 + -0x30;\n          }" (else "else") (compound_statement "{\n            iVar13 = iVar13 + -0x30;\n          }" ({ "{") (expression_statement "iVar13 = iVar13 + -0x30;" (assignment_expression "iVar13 = iVar13 + -0x30" (identifier "iVar13") (= "=") (binary_expression "iVar13 + -0x30" (identifier "iVar13") (+ "+") (number_literal "-0x30"))) (; ";")) (} "}")))) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (param_3 == (int *)0x0) goto LAB_0003afec;" (if "if") (parenthesized_expression "(param_3 == (int *)0x0)" (( "(") (binary_expression "param_3 == (int *)0x0" (identifier "param_3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003afec;" (goto "goto") (statement_identifier "LAB_0003afec") (; ";"))) (expression_statement "piVar10 = param_3;" (assignment_expression "piVar10 = param_3" (identifier "piVar10") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;" (if "if") (parenthesized_expression "(param_3[10] != iVar13 + -1)" (( "(") (binary_expression "param_3[10] != iVar13 + -1" (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]")) (!= "!=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) () ")")) (goto_statement "goto LAB_0003afe0;" (goto "goto") (statement_identifier "LAB_0003afe0") (; ";"))) (expression_statement "iVar13 = param_3[8];" (assignment_expression "iVar13 = param_3[8]" (identifier "iVar13") (= "=") (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]"))) (; ";")) (goto_statement "goto LAB_0003b130;" (goto "goto") (statement_identifier "LAB_0003b130") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" (identifier "sb_reset") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" (identifier "uVar4") (= "=") (number_literal "0x27")) (; ";")) (goto_statement "goto LAB_0003ad4c;" (goto "goto") (statement_identifier "LAB_0003ad4c") (; ";")) (} "}"))) (if_statement "if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }\n  else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0)" (( "(") (binary_expression "*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" (* "*") (cast_expression "(int *)(local_60 + -0xe10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + -0xe10)" (( "(") (binary_expression "local_60 + -0xe10" (identifier "local_60") (+ "+") (number_literal "-0xe10")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe0c)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe0c" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe0c")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n    if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }\n  }" ({ "{") (if_statement "if (iVar13 != 0x22) {\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" (if "if") (parenthesized_expression "(iVar13 != 0x22)" (( "(") (binary_expression "iVar13 != 0x22" (identifier "iVar13") (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\nLAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }\nLAB_0003abb0:\n      pcVar12 = pcVar12 + 1;\n      sb_add_char(param_2,iVar13);\n      pcVar9 = (code *)param_1[1];\n      if (pcVar9 <= pcVar12) goto LAB_0003abd4;\n      goto LAB_0003ab40;\n    }" ({ "{") (labeled_statement "LAB_0003ab8c:\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" (statement_identifier "LAB_0003ab8c") (: ":") (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }\n      else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(iVar13 == 0x40)" (( "(") (binary_expression "iVar13 == 0x40" (identifier "iVar13") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\njoined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe14")) () ")"))))) (; ";")) (labeled_statement "joined_r0x0003b104:\n        if (iVar7 != 0) goto LAB_0003aed0;" (statement_identifier "joined_r0x0003b104") (: ":") (if_statement "if (iVar7 != 0) goto LAB_0003aed0;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003aed0;" (goto "goto") (statement_identifier "LAB_0003aed0") (; ";")))) (} "}")) (else_clause "else {\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" (else "else") (compound_statement "{\nLAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }\n      }" ({ "{") (labeled_statement "LAB_0003ab98:\n        if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" (statement_identifier "LAB_0003ab98") (: ":") (if_statement "if (iVar13 == 10) {\n          local_54 = local_54 + 1;\n        }" (if "if") (parenthesized_expression "(iVar13 == 10)" (( "(") (binary_expression "iVar13 == 10" (identifier "iVar13") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n          local_54 = local_54 + 1;\n        }" ({ "{") (expression_statement "local_54 = local_54 + 1;" (assignment_expression "local_54 = local_54 + 1" (identifier "local_54") (= "=") (binary_expression "local_54 + 1" (identifier "local_54") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}"))))) (labeled_statement "LAB_0003abb0:\n      pcVar12 = pcVar12 + 1;" (statement_identifier "LAB_0003abb0") (: ":") (expression_statement "pcVar12 = pcVar12 + 1;" (assignment_expression "pcVar12 = pcVar12 + 1" (identifier "pcVar12") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" (identifier "sb_add_char") (argument_list "(param_2,iVar13)" (( "(") (identifier "param_2") (, ",") (identifier "iVar13") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pcVar9 <= pcVar12) goto LAB_0003abd4;" (if "if") (parenthesized_expression "(pcVar9 <= pcVar12)" (( "(") (binary_expression "pcVar9 <= pcVar12" (identifier "pcVar9") (<= "<=") (identifier "pcVar12")) () ")")) (goto_statement "goto LAB_0003abd4;" (goto "goto") (statement_identifier "LAB_0003abd4") (; ";"))) (goto_statement "goto LAB_0003ab40;" (goto "goto") (statement_identifier "LAB_0003ab40") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" (else "else") (compound_statement "{\n    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }\n    if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }\n  }" ({ "{") (if_statement "if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" (if "if") (parenthesized_expression "(((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))))" (( "(") (binary_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&\n       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" (parenthesized_expression "((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0)" (( "(") (binary_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0" (parenthesized_expression "(PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2)" (( "(") (binary_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2" (subscript_expression "PTR_lex_type_000b5e9c[(byte)*pcVar8]" (identifier "PTR_lex_type_000b5e9c") ([ "[") (binary_expression "(byte)*pcVar8" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pcVar8")) (] "]")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))" (( "(") (parenthesized_expression "((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))))" (( "(") (binary_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||\n        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" (parenthesized_expression "(local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0))" (( "(") (binary_expression "local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (( "(") (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe14")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))" (( "(") (parenthesized_expression "(pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40))" (( "(") (binary_expression "pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)" (binary_expression "pcVar12 != (code *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(pcVar8[-1] == (code)0x40)" (( "(") (binary_expression "pcVar8[-1] == (code)0x40" (subscript_expression "pcVar8[-1]" (identifier "pcVar8") ([ "[") (number_literal "-1") (] "]")) (== "==") (cast_expression "(code)0x40" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x40"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }\n      if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }\n      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);\n      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;\n      local_3c = PTR_mips_opcodes_000b5cd0;\n      local_34 = auStack_80;\n      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);\n      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;\n      local_38 = PTR_LAB_000b5cb8 + 0x6d44;\n      local_40 = piVar5;\n      local_30 = puVar11;\n      local_2c = iVar6;\n      goto LAB_0003b314;\n    }" ({ "{") (if_statement "if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" (if "if") (parenthesized_expression "((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))))" (( "(") (binary_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" (parenthesized_expression "(((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0))" (( "(") (binary_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||\n          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" (parenthesized_expression "((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14))" (( "(") (binary_expression "(param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)" (( "(") (comma_expression "pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14" (assignment_expression "pcVar14 = pcVar12 + 5" (identifier "pcVar14") (= "=") (binary_expression "pcVar12 + 5" (identifier "pcVar12") (+ "+") (number_literal "5"))) (, ",") (binary_expression "pcVar9 <= pcVar14" (identifier "pcVar9") (<= "<=") (identifier "pcVar14"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0)" (( "(") (comma_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),\n          iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" (parenthesized_expression "(*(code *)PTR_strncasecmp_000b6618)" (( "(") (pointer_expression "*(code *)PTR_strncasecmp_000b6618" (* "*") (cast_expression "(code *)PTR_strncasecmp_000b6618" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strncasecmp_000b6618"))) () ")")) (argument_list "(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5)" (( "(") (identifier "pcVar8") (, ",") (binary_expression "PTR_LAB_000b5cb8 + 0x6d3c" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d3c")) (, ",") (number_literal "5") () ")")))) (, ",") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))" (( "(") (parenthesized_expression "(pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9))" (( "(") (binary_expression "pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)" (binary_expression "pcVar14[iVar16] != (code)0x20" (subscript_expression "pcVar14[iVar16]" (identifier "pcVar14") ([ "[") (identifier "iVar16") (] "]")) (!= "!=") (cast_expression "(code)0x20" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x20"))) (&& "&&") (parenthesized_expression "(pcVar14[iVar16] != (code)0x9)" (( "(") (binary_expression "pcVar14[iVar16] != (code)0x9" (subscript_expression "pcVar14[iVar16]" (identifier "pcVar14") ([ "[") (identifier "iVar16") (] "]")) (!= "!=") (cast_expression "(code)0x9" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x9"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        sb_reset(puVar11);\n        uVar4 = 0x27;\n        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }\nLAB_0003ae50:\n        uVar17 = 1;\n        pcVar8 = pcVar12;\n        goto LAB_0003ad4c;\n      }" ({ "{") (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" (identifier "sb_reset") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";")) (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" (identifier "uVar4") (= "=") (number_literal "0x27")) (; ";")) (if_statement "if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" (if "if") (parenthesized_expression "((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0))" (( "(") (binary_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)" (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0)" (( "(") (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar4 = 0x40, local_5c == 0)" (( "(") (comma_expression "uVar4 = 0x40, local_5c == 0" (assignment_expression "uVar4 = 0x40" (identifier "uVar4") (= "=") (number_literal "0x40")) (, ",") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_0003ae48:\n          uVar4 = 0x27;\n        }" ({ "{") (labeled_statement "LAB_0003ae48:\n          uVar4 = 0x27;" (statement_identifier "LAB_0003ae48") (: ":") (expression_statement "uVar4 = 0x27;" (assignment_expression "uVar4 = 0x27" (identifier "uVar4") (= "=") (number_literal "0x27")) (; ";"))) (} "}"))) (labeled_statement "LAB_0003ae50:\n        uVar17 = 1;" (statement_identifier "LAB_0003ae50") (: ":") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";"))) (expression_statement "pcVar8 = pcVar12;" (assignment_expression "pcVar8 = pcVar12" (identifier "pcVar8") (= "=") (identifier "pcVar12")) (; ";")) (goto_statement "goto LAB_0003ad4c;" (goto "goto") (statement_identifier "LAB_0003ad4c") (; ";")) (} "}"))) (if_statement "if (local_5c != 0) {\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" (if "if") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        sb_reset(puVar11);\n        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;\n        uVar4 = 0x40;\n        goto LAB_0003ae50;\n      }" ({ "{") (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" (identifier "sb_reset") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";")) (if_statement "if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;" (if "if") (parenthesized_expression "(*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)" (( "(") (binary_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0" (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe14")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003ae48;" (goto "goto") (statement_identifier "LAB_0003ae48") (; ";"))) (expression_statement "uVar4 = 0x40;" (assignment_expression "uVar4 = 0x40" (identifier "uVar4") (= "=") (number_literal "0x40")) (; ";")) (goto_statement "goto LAB_0003ae50;" (goto "goto") (statement_identifier "LAB_0003ae50") (; ";")) (} "}"))) (expression_statement "pcVar8 = (code *)sb_skip_white(pcVar14,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_white(pcVar14,param_1)" (identifier "pcVar8") (= "=") (cast_expression "(code *)sb_skip_white(pcVar14,param_1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sb_skip_white(pcVar14,param_1)" (identifier "sb_skip_white") (argument_list "(pcVar14,param_1)" (( "(") (identifier "pcVar14") (, ",") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;" (if "if") (parenthesized_expression "(pcVar8[*param_1] == (code)0xa)" (( "(") (binary_expression "pcVar8[*param_1] == (code)0xa" (subscript_expression "pcVar8[*param_1]" (identifier "pcVar8") ([ "[") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (] "]")) (== "==") (cast_expression "(code)0xa" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xa"))) () ")")) (goto_statement "goto LAB_0003ad60;" (goto "goto") (statement_identifier "LAB_0003ad60") (; ";"))) (expression_statement "local_3c = PTR_mips_opcodes_000b5cd0;" (assignment_expression "local_3c = PTR_mips_opcodes_000b5cd0" (identifier "local_3c") (= "=") (identifier "PTR_mips_opcodes_000b5cd0")) (; ";")) (expression_statement "local_34 = auStack_80;" (assignment_expression "local_34 = auStack_80" (identifier "local_34") (= "=") (identifier "auStack_80")) (; ";")) (expression_statement "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);" (assignment_expression "local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0)" (identifier "local_50") (= "=") (cast_expression "(code *)(PTR_LAB_000b6120 + -0x5ad0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_000b6120 + -0x5ad0)" (( "(") (binary_expression "PTR_LAB_000b6120 + -0x5ad0" (identifier "PTR_LAB_000b6120") (+ "+") (number_literal "-0x5ad0")) () ")")))) (; ";")) (expression_statement "local_44 = PTR_LAB_000b5cb8 + 0x6d4c;" (assignment_expression "local_44 = PTR_LAB_000b5cb8 + 0x6d4c" (identifier "local_44") (= "=") (binary_expression "PTR_LAB_000b5cb8 + 0x6d4c" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d4c"))) (; ";")) (expression_statement "local_38 = PTR_LAB_000b5cb8 + 0x6d44;" (assignment_expression "local_38 = PTR_LAB_000b5cb8 + 0x6d44" (identifier "local_38") (= "=") (binary_expression "PTR_LAB_000b5cb8 + 0x6d44" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d44"))) (; ";")) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" (identifier "local_40") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "local_30 = puVar11;" (assignment_expression "local_30 = puVar11" (identifier "local_30") (= "=") (identifier "puVar11")) (; ";")) (expression_statement "local_2c = iVar6;" (assignment_expression "local_2c = iVar6" (identifier "local_2c") (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_0003b314;" (goto "goto") (statement_identifier "LAB_0003b314") (; ";")) (} "}"))) (if_statement "if (iVar13 != 0x22) {\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" (if "if") (parenthesized_expression "(iVar13 != 0x22)" (( "(") (binary_expression "iVar13 != 0x22" (identifier "iVar13") (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\n      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;\n      if (iVar13 == 0x27) goto LAB_0003ae70;\n      if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }\n      if (iVar13 != 0x3d) goto LAB_0003ab98;\n      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;\n      sb_reset(puVar11);\n      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);\n      uVar4 = sb_terminate(puVar11);\n      iVar13 = hash_find(param_4,uVar4);\n      if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }\n      goto LAB_0003ab34;\n    }" ({ "{") (if_statement "if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;" (if "if") (parenthesized_expression "(*(int *)(local_60 + -0xe10) == 0)" (( "(") (binary_expression "*(int *)(local_60 + -0xe10) == 0" (pointer_expression "*(int *)(local_60 + -0xe10)" (* "*") (cast_expression "(int *)(local_60 + -0xe10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + -0xe10)" (( "(") (binary_expression "local_60 + -0xe10" (identifier "local_60") (+ "+") (number_literal "-0xe10")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003ab8c;" (goto "goto") (statement_identifier "LAB_0003ab8c") (; ";"))) (if_statement "if (iVar13 == 0x27) goto LAB_0003ae70;" (if "if") (parenthesized_expression "(iVar13 == 0x27)" (( "(") (binary_expression "iVar13 == 0x27" (identifier "iVar13") (== "==") (number_literal "0x27")) () ")")) (goto_statement "goto LAB_0003ae70;" (goto "goto") (statement_identifier "LAB_0003ae70") (; ";"))) (if_statement "if (iVar13 == 0x40) {\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" (if "if") (parenthesized_expression "(iVar13 == 0x40)" (( "(") (binary_expression "iVar13 == 0x40" (identifier "iVar13") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);\n        goto joined_r0x0003b104;\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);" (assignment_expression "iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (* "*") (cast_expression "(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_mips_opcodes_000b5cd0 + -0xe14)" (( "(") (binary_expression "PTR_mips_opcodes_000b5cd0 + -0xe14" (identifier "PTR_mips_opcodes_000b5cd0") (+ "+") (number_literal "-0xe14")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x0003b104;" (goto "goto") (statement_identifier "joined_r0x0003b104") (; ";")) (} "}"))) (if_statement "if (iVar13 != 0x3d) goto LAB_0003ab98;" (if "if") (parenthesized_expression "(iVar13 != 0x3d)" (( "(") (binary_expression "iVar13 != 0x3d" (identifier "iVar13") (!= "!=") (number_literal "0x3d")) () ")")) (goto_statement "goto LAB_0003ab98;" (goto "goto") (statement_identifier "LAB_0003ab98") (; ";"))) (if_statement "if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;" (if "if") (parenthesized_expression "((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d))" (( "(") (binary_expression "(pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)" (parenthesized_expression "(pcVar9 <= pcVar12 + 1)" (( "(") (binary_expression "pcVar9 <= pcVar12 + 1" (identifier "pcVar9") (<= "<=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) () ")")) (|| "||") (parenthesized_expression "((pcVar12 + 1)[iVar16] != (code)0x3d)" (( "(") (binary_expression "(pcVar12 + 1)[iVar16] != (code)0x3d" (subscript_expression "(pcVar12 + 1)[iVar16]" (parenthesized_expression "(pcVar12 + 1)" (( "(") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1")) () ")")) ([ "[") (identifier "iVar16") (] "]")) (!= "!=") (cast_expression "(code)0x3d" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x3d"))) () ")"))) () ")")) (goto_statement "goto LAB_0003abb0;" (goto "goto") (statement_identifier "LAB_0003abb0") (; ";"))) (expression_statement "sb_reset(puVar11);" (call_expression "sb_reset(puVar11)" (identifier "sb_reset") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")"))) (; ";")) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (parenthesized_expression "(*local_4c)" (( "(") (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) () ")")) (argument_list "(pcVar12 + 2,param_1,param_1 + 1,puVar11)" (( "(") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2")) (, ",") (identifier "param_1") (, ",") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) (, ",") (identifier "puVar11") () ")"))))) (; ";")) (expression_statement "uVar4 = sb_terminate(puVar11);" (assignment_expression "uVar4 = sb_terminate(puVar11)" (identifier "uVar4") (= "=") (call_expression "sb_terminate(puVar11)" (identifier "sb_terminate") (argument_list "(puVar11)" (( "(") (identifier "puVar11") () ")")))) (; ";")) (expression_statement "iVar13 = hash_find(param_4,uVar4);" (assignment_expression "iVar13 = hash_find(param_4,uVar4)" (identifier "iVar13") (= "=") (call_expression "hash_find(param_4,uVar4)" (identifier "hash_find") (argument_list "(param_4,uVar4)" (( "(") (identifier "param_4") (, ",") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (iVar13 == 0) {\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }\n      else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        sb_add_char(param_2,0x3d);\n        sb_add_char(param_2,0x3d);\n        sb_add_sb(param_2,puVar11);\n        pcVar9 = (code *)param_1[1];\n        iVar6 = 0;\n      }" ({ "{") (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" (identifier "sb_add_char") (argument_list "(param_2,0x3d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3d") () ")"))) (; ";")) (expression_statement "sb_add_char(param_2,0x3d);" (call_expression "sb_add_char(param_2,0x3d)" (identifier "sb_add_char") (argument_list "(param_2,0x3d)" (( "(") (identifier "param_2") (, ",") (number_literal "0x3d") () ")"))) (; ";")) (expression_statement "sb_add_sb(param_2,puVar11);" (call_expression "sb_add_sb(param_2,puVar11)" (identifier "sb_add_sb") (argument_list "(param_2,puVar11)" (( "(") (identifier "param_2") (, ",") (identifier "puVar11") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" (else "else") (if_statement "if (*(int *)(iVar13 + 0x20) == 0) {\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }\n      else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar13 + 0x20) == 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0x20) == 0" (pointer_expression "*(int *)(iVar13 + 0x20)" (* "*") (cast_expression "(int *)(iVar13 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        sb_add_char(param_2,0x30);\n        pcVar9 = (code *)param_1[1];\n      }" ({ "{") (expression_statement "sb_add_char(param_2,0x30);" (call_expression "sb_add_char(param_2,0x30)" (identifier "sb_add_char") (argument_list "(param_2,0x30)" (( "(") (identifier "param_2") (, ",") (number_literal "0x30") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" (else "else") (compound_statement "{\n        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);\n        pcVar9 = (code *)param_1[1];\n      }" ({ "{") (expression_statement "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);" (call_expression "sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88)" (identifier "sb_add_string") (argument_list "(param_2,PTR_LAB_000b5cb8 + 0x6d88)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_LAB_000b5cb8 + 0x6d88" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d88")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")))))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0003ae70:\n  local_50 = pcVar12 + 1;" (statement_identifier "LAB_0003ae70") (: ":") (expression_statement "local_50 = pcVar12 + 1;" (assignment_expression "local_50 = pcVar12 + 1" (identifier "local_50") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_5c = local_5c ^ 1;" (assignment_expression "local_5c = local_5c ^ 1" (identifier "local_5c") (= "=") (binary_expression "local_5c ^ 1" (identifier "local_5c") (^ "^") (number_literal "1"))) (; ";")) (expression_statement "sb_add_char(param_2,iVar13);" (call_expression "sb_add_char(param_2,iVar13)" (identifier "sb_add_char") (argument_list "(param_2,iVar13)" (( "(") (identifier "param_2") (, ",") (identifier "iVar13") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pcVar8 = local_50;" (assignment_expression "pcVar8 = local_50" (identifier "pcVar8") (= "=") (identifier "local_50")) (; ";")) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (labeled_statement "joined_r0x0003b040:\n  if (cVar1 == (code)0x29) goto LAB_0003b114;" (statement_identifier "joined_r0x0003b040") (: ":") (if_statement "if (cVar1 == (code)0x29) goto LAB_0003b114;" (if "if") (parenthesized_expression "(cVar1 == (code)0x29)" (( "(") (binary_expression "cVar1 == (code)0x29" (identifier "cVar1") (== "==") (cast_expression "(code)0x29" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x29"))) () ")")) (goto_statement "goto LAB_0003b114;" (goto "goto") (statement_identifier "LAB_0003b114") (; ";")))) (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + 1" (identifier "pcVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sb_add_char(param_2);" (call_expression "sb_add_char(param_2)" (identifier "sb_add_char") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (pcVar9 <= pcVar8) goto LAB_0003b084;" (if "if") (parenthesized_expression "(pcVar9 <= pcVar8)" (( "(") (binary_expression "pcVar9 <= pcVar8" (identifier "pcVar9") (<= "<=") (identifier "pcVar8")) () ")")) (goto_statement "goto LAB_0003b084;" (goto "goto") (statement_identifier "LAB_0003b084") (; ";"))) (expression_statement "cVar1 = pcVar8[*param_1];" (assignment_expression "cVar1 = pcVar8[*param_1]" (identifier "cVar1") (= "=") (subscript_expression "pcVar8[*param_1]" (identifier "pcVar8") ([ "[") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (] "]"))) (; ";")) (goto_statement "goto joined_r0x0003b040;" (goto "goto") (statement_identifier "joined_r0x0003b040") (; ";")) (labeled_statement "LAB_0003b084:\n  if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" (statement_identifier "LAB_0003b084") (: ":") (if_statement "if (param_5 == 0) {\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    pcVar9 = (code *)param_1[1];\n  }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000b6750" (* "*") (cast_expression "(code *)PTR_dcgettext_000b6750" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000b6750"))) () ")")) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d30")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" (else "else") (compound_statement "{\n    uVar17 = *(undefined4 *)(param_5 + 0x1c);\n    iVar13 = local_54 + *(int *)(param_5 + 0x20);\n    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);\n    as_bad_where(uVar17,iVar13,uVar4);\n    pcVar9 = (code *)param_1[1];\n  }" ({ "{") (expression_statement "uVar17 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar17 = *(undefined4 *)(param_5 + 0x1c)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x1c)" (( "(") (binary_expression "param_5 + 0x1c" (identifier "param_5") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar13 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar13 = local_54 + *(int *)(param_5 + 0x20)" (identifier "iVar13") (= "=") (binary_expression "local_54 + *(int *)(param_5 + 0x20)" (identifier "local_54") (+ "+") (pointer_expression "*(int *)(param_5 + 0x20)" (* "*") (cast_expression "(int *)(param_5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x20)" (( "(") (binary_expression "param_5 + 0x20" (identifier "param_5") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000b6750" (* "*") (cast_expression "(code *)PTR_dcgettext_000b6750" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000b6750"))) () ")")) (argument_list "(0,PTR_LAB_000b5cb8 + 0x6d30,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_000b5cb8 + 0x6d30" (identifier "PTR_LAB_000b5cb8") (+ "+") (number_literal "0x6d30")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "as_bad_where(uVar17,iVar13,uVar4);" (call_expression "as_bad_where(uVar17,iVar13,uVar4)" (identifier "as_bad_where") (argument_list "(uVar17,iVar13,uVar4)" (( "(") (identifier "uVar17") (, ",") (identifier "iVar13") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (labeled_statement "LAB_0003b114:\n  pcVar8 = pcVar8 + 1;" (statement_identifier "LAB_0003b114") (: ":") (expression_statement "pcVar8 = pcVar8 + 1;" (assignment_expression "pcVar8 = pcVar8 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar8 + 1" (identifier "pcVar8") (+ "+") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (while_statement "while (piVar10[10] != iVar13 + -1) {\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" (while "while") (parenthesized_expression "(piVar10[10] != iVar13 + -1)" (( "(") (binary_expression "piVar10[10] != iVar13 + -1" (subscript_expression "piVar10[10]" (identifier "piVar10") ([ "[") (number_literal "10") (] "]")) (!= "!=") (binary_expression "iVar13 + -1" (identifier "iVar13") (+ "+") (number_literal "-1"))) () ")")) (compound_statement "{\nLAB_0003afe0:\n    piVar10 = (int *)*piVar10;\n    if (piVar10 == (int *)0x0) goto LAB_0003afec;\n  }" ({ "{") (labeled_statement "LAB_0003afe0:\n    piVar10 = (int *)*piVar10;" (statement_identifier "LAB_0003afe0") (: ":") (expression_statement "piVar10 = (int *)*piVar10;" (assignment_expression "piVar10 = (int *)*piVar10" (identifier "piVar10") (= "=") (cast_expression "(int *)*piVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")))) (; ";"))) (if_statement "if (piVar10 == (int *)0x0) goto LAB_0003afec;" (if "if") (parenthesized_expression "(piVar10 == (int *)0x0)" (( "(") (binary_expression "piVar10 == (int *)0x0" (identifier "piVar10") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0003afec;" (goto "goto") (statement_identifier "LAB_0003afec") (; ";"))) (} "}"))) (expression_statement "iVar13 = piVar10[8];" (assignment_expression "iVar13 = piVar10[8]" (identifier "iVar13") (= "=") (subscript_expression "piVar10[8]" (identifier "piVar10") ([ "[") (number_literal "8") (] "]"))) (; ";")) (labeled_statement "LAB_0003b130:\n  if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" (statement_identifier "LAB_0003b130") (: ":") (if_statement "if (iVar13 == 0) {\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }\n  else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 4);\n    pcVar9 = (code *)param_1[1];\n  }" ({ "{") (expression_statement "sb_add_sb(param_2,piVar10 + 4);" (call_expression "sb_add_sb(param_2,piVar10 + 4)" (identifier "sb_add_sb") (argument_list "(param_2,piVar10 + 4)" (( "(") (identifier "param_2") (, ",") (binary_expression "piVar10 + 4" (identifier "piVar10") (+ "+") (number_literal "4")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" (else "else") (compound_statement "{\n    sb_add_sb(param_2,piVar10 + 7);\n    pcVar9 = (code *)param_1[1];\n  }" ({ "{") (expression_statement "sb_add_sb(param_2,piVar10 + 7);" (call_expression "sb_add_sb(param_2,piVar10 + 7)" (identifier "sb_add_sb") (argument_list "(param_2,piVar10 + 7)" (( "(") (identifier "param_2") (, ",") (binary_expression "piVar10 + 7" (identifier "piVar10") (+ "+") (number_literal "7")) () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (labeled_statement "LAB_0003afec:\n  iVar6 = 0;" (statement_identifier "LAB_0003afec") (: ":") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (labeled_statement "LAB_0003b314:\n  do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" (statement_identifier "LAB_0003b314") (: ":") (do_statement "do {\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  } while (pcVar8[*param_1] != (code)0xa);" (do "do") (compound_statement "{\n    piVar5 = (int *)(*local_50)();\n    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);\n    uVar4 = sb_terminate(piVar5 + 1);\n    iVar6 = hash_find(param_4,uVar4);\n    puVar11 = local_34;\n    puVar3 = PTR_sprintf_000b65a0;\n    if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }\n    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);\n  }" ({ "{") (expression_statement "piVar5 = (int *)(*local_50)();" (assignment_expression "piVar5 = (int *)(*local_50)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*local_50)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_50)()" (parenthesized_expression "(*local_50)" (( "(") (pointer_expression "*local_50" (* "*") (identifier "local_50")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);" (assignment_expression "pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (parenthesized_expression "(*local_4c)" (( "(") (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) () ")")) (argument_list "(pcVar8,param_1,param_1 + 1,piVar5 + 1)" (( "(") (identifier "pcVar8") (, ",") (identifier "param_1") (, ",") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) (, ",") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "uVar4 = sb_terminate(piVar5 + 1);" (assignment_expression "uVar4 = sb_terminate(piVar5 + 1)" (identifier "uVar4") (= "=") (call_expression "sb_terminate(piVar5 + 1)" (identifier "sb_terminate") (argument_list "(piVar5 + 1)" (( "(") (binary_expression "piVar5 + 1" (identifier "piVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar6 = hash_find(param_4,uVar4);" (assignment_expression "iVar6 = hash_find(param_4,uVar4)" (identifier "iVar6") (= "=") (call_expression "hash_find(param_4,uVar4)" (identifier "hash_find") (argument_list "(param_4,uVar4)" (( "(") (identifier "param_4") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" (identifier "puVar11") (= "=") (identifier "local_34")) (; ";")) (expression_statement "puVar3 = PTR_sprintf_000b65a0;" (assignment_expression "puVar3 = PTR_sprintf_000b65a0" (identifier "puVar3") (= "=") (identifier "PTR_sprintf_000b65a0")) (; ";")) (if_statement "if (iVar6 == 0) {\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }\n    else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar6 = *(int *)(local_3c + -0xe20);\n      *piVar5 = (int)local_40;\n      piVar5[10] = -3;\n      *(int *)(local_3c + -0xe20) = iVar6 + 1;\n      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);\n      sb_add_string(piVar5 + 7,puVar11);\n      iVar6 = hash_jam(param_4,uVar4,piVar5);\n      local_40 = piVar5;\n      if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(local_3c + -0xe20);" (assignment_expression "iVar6 = *(int *)(local_3c + -0xe20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(local_3c + -0xe20)" (* "*") (cast_expression "(int *)(local_3c + -0xe20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + -0xe20)" (( "(") (binary_expression "local_3c + -0xe20" (identifier "local_3c") (+ "+") (number_literal "-0xe20")) () ")"))))) (; ";")) (expression_statement "*piVar5 = (int)local_40;" (assignment_expression "*piVar5 = (int)local_40" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) (; ";")) (expression_statement "piVar5[10] = -3;" (assignment_expression "piVar5[10] = -3" (subscript_expression "piVar5[10]" (identifier "piVar5") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "-3")) (; ";")) (expression_statement "*(int *)(local_3c + -0xe20) = iVar6 + 1;" (assignment_expression "*(int *)(local_3c + -0xe20) = iVar6 + 1" (pointer_expression "*(int *)(local_3c + -0xe20)" (* "*") (cast_expression "(int *)(local_3c + -0xe20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + -0xe20)" (( "(") (binary_expression "local_3c + -0xe20" (identifier "local_3c") (+ "+") (number_literal "-0xe20")) () ")")))) (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)puVar3)(local_34,local_38,iVar6 + 1);" (call_expression "(*(code *)puVar3)(local_34,local_38,iVar6 + 1)" (parenthesized_expression "(*(code *)puVar3)" (( "(") (pointer_expression "*(code *)puVar3" (* "*") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (argument_list "(local_34,local_38,iVar6 + 1)" (( "(") (identifier "local_34") (, ",") (identifier "local_38") (, ",") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "sb_add_string(piVar5 + 7,puVar11);" (call_expression "sb_add_string(piVar5 + 7,puVar11)" (identifier "sb_add_string") (argument_list "(piVar5 + 7,puVar11)" (( "(") (binary_expression "piVar5 + 7" (identifier "piVar5") (+ "+") (number_literal "7")) (, ",") (identifier "puVar11") () ")"))) (; ";")) (expression_statement "iVar6 = hash_jam(param_4,uVar4,piVar5);" (assignment_expression "iVar6 = hash_jam(param_4,uVar4,piVar5)" (identifier "iVar6") (= "=") (call_expression "hash_jam(param_4,uVar4,piVar5)" (identifier "hash_jam") (argument_list "(param_4,uVar4,piVar5)" (( "(") (identifier "param_4") (, ",") (identifier "uVar4") (, ",") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "local_40 = piVar5;" (assignment_expression "local_40 = piVar5" (identifier "local_40") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (iVar6 != 0) {\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar9 = (code *)param_1[1];\n        puVar11 = local_30;\n        goto LAB_0003ab34;\n      }" ({ "{") (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" (identifier "puVar11") (= "=") (identifier "local_30")) (; ";")) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" (else "else") (compound_statement "{\n      uVar15 = *(undefined4 *)(param_5 + 0x1c);\n      iVar6 = local_54 + *(int *)(param_5 + 0x20);\n      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);\n      as_bad_where(uVar15,iVar6,uVar17,uVar4);\n      (*local_48)(piVar5);\n    }" ({ "{") (expression_statement "uVar15 = *(undefined4 *)(param_5 + 0x1c);" (assignment_expression "uVar15 = *(undefined4 *)(param_5 + 0x1c)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(param_5 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x1c)" (( "(") (binary_expression "param_5 + 0x1c" (identifier "param_5") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar6 = local_54 + *(int *)(param_5 + 0x20);" (assignment_expression "iVar6 = local_54 + *(int *)(param_5 + 0x20)" (identifier "iVar6") (= "=") (binary_expression "local_54 + *(int *)(param_5 + 0x20)" (identifier "local_54") (+ "+") (pointer_expression "*(int *)(param_5 + 0x20)" (* "*") (cast_expression "(int *)(param_5 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x20)" (( "(") (binary_expression "param_5 + 0x20" (identifier "param_5") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);" (assignment_expression "uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" (identifier "uVar17") (= "=") (call_expression "(*(code *)PTR_dcgettext_000b6750)(0,local_44,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b6750)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000b6750" (* "*") (cast_expression "(code *)PTR_dcgettext_000b6750" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000b6750"))) () ")")) (argument_list "(0,local_44,5)" (( "(") (number_literal "0") (, ",") (identifier "local_44") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "as_bad_where(uVar15,iVar6,uVar17,uVar4);" (call_expression "as_bad_where(uVar15,iVar6,uVar17,uVar4)" (identifier "as_bad_where") (argument_list "(uVar15,iVar6,uVar17,uVar4)" (( "(") (identifier "uVar15") (, ",") (identifier "iVar6") (, ",") (identifier "uVar17") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "(*local_48)(piVar5);" (call_expression "(*local_48)(piVar5)" (parenthesized_expression "(*local_48)" (( "(") (pointer_expression "*local_48" (* "*") (identifier "local_48")) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (} "}")))) (expression_statement "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);" (assignment_expression "pcVar8 = (code *)sb_skip_comma(pcVar8,param_1)" (identifier "pcVar8") (= "=") (cast_expression "(code *)sb_skip_comma(pcVar8,param_1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "sb_skip_comma(pcVar8,param_1)" (identifier "sb_skip_comma") (argument_list "(pcVar8,param_1)" (( "(") (identifier "pcVar8") (, ",") (identifier "param_1") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar8[*param_1] != (code)0xa)" (( "(") (binary_expression "pcVar8[*param_1] != (code)0xa" (subscript_expression "pcVar8[*param_1]" (identifier "pcVar8") ([ "[") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (] "]")) (!= "!=") (cast_expression "(code)0xa" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0xa"))) () ")")) (; ";"))) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "piVar5 = local_40;" (assignment_expression "piVar5 = local_40" (identifier "piVar5") (= "=") (identifier "local_40")) (; ";")) (expression_statement "puVar11 = local_30;" (assignment_expression "puVar11 = local_30" (identifier "puVar11") (= "=") (identifier "local_30")) (; ";")) (expression_statement "iVar6 = local_2c;" (assignment_expression "iVar6 = local_2c" (identifier "iVar6") (= "=") (identifier "local_2c")) (; ";")) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (labeled_statement "LAB_0003aed0:\n  pcVar8 = pcVar12 + 1;" (statement_identifier "LAB_0003aed0") (: ":") (expression_statement "pcVar8 = pcVar12 + 1;" (assignment_expression "pcVar8 = pcVar12 + 1" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 1" (identifier "pcVar12") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" (if "if") (parenthesized_expression "((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40))" (( "(") (binary_expression "(pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)" (parenthesized_expression "(pcVar8 < pcVar9)" (( "(") (binary_expression "pcVar8 < pcVar9" (identifier "pcVar8") (< "<") (identifier "pcVar9")) () ")")) (&& "&&") (parenthesized_expression "(pcVar8[iVar16] == (code)0x40)" (( "(") (binary_expression "pcVar8[iVar16] == (code)0x40" (subscript_expression "pcVar8[iVar16]" (identifier "pcVar8") ([ "[") (identifier "iVar16") (] "]")) (== "==") (cast_expression "(code)0x40" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x40"))) () ")"))) () ")")) (compound_statement "{\n    sb_add_char(param_2,0x40);\n    pcVar9 = (code *)param_1[1];\n    pcVar8 = pcVar12 + 2;\n  }" ({ "{") (expression_statement "sb_add_char(param_2,0x40);" (call_expression "sb_add_char(param_2,0x40)" (identifier "sb_add_char") (argument_list "(param_2,0x40)" (( "(") (identifier "param_2") (, ",") (number_literal "0x40") () ")"))) (; ";")) (expression_statement "pcVar9 = (code *)param_1[1];" (assignment_expression "pcVar9 = (code *)param_1[1]" (identifier "pcVar9") (= "=") (cast_expression "(code *)param_1[1]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pcVar8 = pcVar12 + 2;" (assignment_expression "pcVar8 = pcVar12 + 2" (identifier "pcVar8") (= "=") (binary_expression "pcVar12 + 2" (identifier "pcVar12") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0003ab34;" (goto "goto") (statement_identifier "LAB_0003ab34") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x0003abe4) */
/* WARNING: Removing unreachable block (ram,0x0003abec) */

char * function_1(type_1 *in,type_1 *out,type_2 *var_19,type_3 *formal_hash,
                        type_4 *var_20)

{
  char cVar1;
  type_5 var_18;
  bool var_27;
  type_6 *var_11;
  type_7 *pcVar5;
  type_7 *pcVar6;
  type_8 uVar7;
  void *var_25;
  int var_13;
  type_9 *pbVar10;
  type_2 *var_30;
  type_10 var_3;
  char *var_6;
  type_10 var_4;
  type_10 var_8;
  size_t var_9;
  char *var_7;
  char *file;
  type_8 uVar18;
  char buffer [12];
  type_1 t;
  int var_28;
  
  var_11 = var_15;
  var_4 = 0;
  var_6 = (char *)0x0;
  var_1(&t);
  var_3 = in->len;
  var_28 = 0;
  var_27 = false;
  pcVar5 = (type_7 *)(var_2 + -0x5960);
  pcVar6 = (type_7 *)(var_2 + -0x5814);
LAB_0003ab34:
  var_8 = var_4;
  if (var_3 <= var_4) {
LAB_0003abd4:
    var_5(&t);
    return var_6;
  }
  do {
    if (var_6 != (char *)0x0) goto LAB_0003abd4;
    var_7 = in->ptr;
    pbVar10 = (type_9 *)(var_7 + var_8);
    var_9 = (size_t)(char)*pbVar10;
    if (var_9 == 0x26) {
      var_4 = var_8 + 1;
      var_10(&t);
      if (*(int *)(var_11 + -0xe10) == 0) {
        uVar18 = 0;
        uVar7 = 0x26;
LAB_0003ad4c:
        var_4 = (*pcVar6)(var_4,in,&t,formal_hash,uVar7,out,uVar18);
        var_3 = in->len;
      }
      else {
        if (var_4 < in->len) {
          var_7 = in->ptr;
          if (var_7[var_4] == '&') {
            uVar18 = 1;
            uVar7 = 0x27;
            var_4 = var_8 + 2;
            goto LAB_0003ad4c;
          }
        }
        else {
          var_7 = in->ptr;
        }
        var_12(out,(int)var_7[var_8]);
        var_3 = in->len;
      }
      goto LAB_0003ab34;
    }
    if (var_9 == 0x5c) {
      var_4 = var_8 + 1;
      if (var_4 < var_3) {
        var_13 = (int)var_7[var_4];
        if (var_13 == 0x28) {
          var_4 = var_8 + 2;
          if (var_3 <= var_4) goto LAB_0003b084;
          cVar1 = var_7[var_4];
          break;
        }
        if (var_13 == 0x40) {
          var_4 = var_8 + 2;
          (*(type_7 *)PTR_sprintf_000b65a0)
                    (buffer,var_14 + -0x6960,
                     *(type_8 *)(var_15 + -0xe1c));
          var_16(out,buffer);
          var_3 = in->len;
          goto LAB_0003ab34;
        }
        if (var_13 == 0x26) {
          var_4 = var_8 + 2;
          var_12(out,0x5c);
          var_12(out,0x26);
          var_3 = in->len;
          goto LAB_0003ab34;
        }
        if (*(int *)(var_11 + -0xe10) != 0) {
          var_18 = *(type_5 *)(var_17 + (type_10)(type_9)var_7[var_4] * 2);
          if ((var_18 & 0x8c) != 0) {
            if ((var_18 & 4) == 0) {
              if ((var_18 & 0x80) == 0) {
                var_13 = var_13 + -0x57;
              }
              else {
                var_13 = var_13 + -0x37;
              }
            }
            else {
              var_13 = var_13 + -0x30;
            }
            var_4 = var_8 + 2;
            if (var_19 == (type_2 *)0x0) goto LAB_0003afec;
            var_30 = var_19;
            if (var_19->index != var_13 + -1) goto LAB_0003afe0;
            var_9 = (var_19->actual).len;
            goto LAB_0003b130;
          }
        }
      }
      var_10(&t);
      uVar18 = 0;
      uVar7 = 0x27;
      goto LAB_0003ad4c;
    }
    if (*(int *)(var_11 + -0xe10) != 0 || *(int *)(var_15 + -0xe0c) != 0) {
      if (((PTR_lex_type_000b5e9c[*pbVar10] & 2) != 0) &&
         (((!var_27 || (*(int *)(var_15 + -0xe14) == 0)) ||
          ((var_8 != 0 && (pbVar10[-1] == 0x40)))))) {
        if ((((var_20 == (type_4 *)0x0) || (var_4 = var_8 + 5, var_3 <= var_4)) ||
            (var_13 = (*(type_7 *)PTR_strncasecmp_000b6618)(pbVar10,var_21 + 0x6d3c,5),
            var_13 != 0)) || ((var_7[var_4] != ' ' && (var_7[var_4] != '\t')))) {
          var_10(&t);
          uVar7 = 0x27;
          if ((*(int *)(var_15 + -0xe14) != 0) && (uVar7 = 0x40, !var_27))
          goto LAB_0003ae48;
        }
        else {
          if (!var_27) {
                    /* WARNING: Subroutine does not return */
            var_22(var_4,in);
          }
          var_10(&t);
          if (*(int *)(var_15 + -0xe14) == 0) {
LAB_0003ae48:
            uVar7 = 0x27;
          }
          else {
            uVar7 = 0x40;
          }
        }
        uVar18 = 1;
        var_4 = var_8;
        goto LAB_0003ad4c;
      }
      if (var_9 != 0x22) {
        if (*(int *)(var_11 + -0xe10) == 0) goto LAB_0003ab8c;
        if (var_9 != 0x27) {
          if (var_9 == 0x40) {
            var_13 = *(int *)(var_15 + -0xe14);
            goto joined_r0x0003aec8;
          }
          if (var_9 != 0x3d) goto LAB_0003ab98;
          if ((var_3 <= var_8 + 1) || (var_7[var_8 + 1] != '=')) goto LAB_0003abb0;
          var_10(&t);
          var_4 = (*pcVar5)(var_8 + 2,in,&in->len,&t);
          var_7 = var_23(&t);
          var_25 = var_24(formal_hash,var_7);
          if (var_25 == (void *)0x0) {
            var_6 = (char *)0x0;
            var_12(out,0x3d);
            var_12(out,0x3d);
            var_26(out,&t);
            var_3 = in->len;
          }
          else if (*(int *)((int)var_25 + 0x20) == 0) {
            var_12(out,0x30);
            var_3 = in->len;
          }
          else {
            var_16(out,var_21 + 0x6d88);
            var_3 = in->len;
          }
          goto LAB_0003ab34;
        }
      }
LAB_0003ae70:
      var_4 = var_8 + 1;
      var_27 = (bool)(var_27 ^ 1);
      var_12(out,var_9);
      var_3 = in->len;
      goto LAB_0003ab34;
    }
    if (var_9 == 0x22) goto LAB_0003ae70;
LAB_0003ab8c:
    if (var_9 == 0x40) {
      var_13 = *(int *)(var_15 + -0xe14);
joined_r0x0003aec8:
      if (var_13 != 0) goto LAB_0003aed0;
    }
    else {
LAB_0003ab98:
      if (var_9 == 10) {
        var_28 = var_28 + 1;
      }
    }
LAB_0003abb0:
    var_8 = var_8 + 1;
    var_12(out,var_9);
    var_3 = in->len;
    if (var_3 <= var_8) goto LAB_0003abd4;
  } while( true );
joined_r0x0003b040:
  if ((int)cVar1 == 0x29) goto LAB_0003b114;
  var_4 = var_4 + 1;
  var_12(out,(int)cVar1);
  var_3 = in->len;
  if (var_3 <= var_4) goto LAB_0003b084;
  cVar1 = in->ptr[var_4];
  goto joined_r0x0003b040;
LAB_0003b114:
  var_4 = var_4 + 1;
  goto LAB_0003ab34;
LAB_0003b084:
  if (var_20 == (type_4 *)0x0) {
    var_6 = (char *)(*(type_7 *)PTR_dcgettext_000b6750)(0,var_21 + 0x6d30,5);
    var_3 = in->len;
  }
  else {
    var_3 = var_20->line;
    file = var_20->file;
    var_7 = (char *)(*(type_7 *)PTR_dcgettext_000b6750)(0,var_21 + 0x6d30,5);
    var_29(file,var_28 + var_3,var_7);
    var_3 = in->len;
  }
  goto LAB_0003ab34;
  while (var_30->index != var_13 + -1) {
LAB_0003afe0:
    var_30 = var_30->next;
    if (var_30 == (type_11 *)0x0) goto LAB_0003afec;
  }
  var_9 = (var_30->actual).len;
LAB_0003b130:
  if (var_9 == 0) {
    var_26(out,&var_30->def);
    var_3 = in->len;
  }
  else {
    var_26(out,&var_30->actual);
    var_3 = in->len;
  }
  goto LAB_0003ab34;
LAB_0003afec:
  var_6 = (char *)0x0;
  goto LAB_0003ab34;
LAB_0003aed0:
  var_4 = var_8 + 1;
  if ((var_4 < var_3) && (var_7[var_4] == '@')) {
    var_4 = var_8 + 2;
    var_12(out,0x40);
    var_3 = in->len;
  }
  goto LAB_0003ab34;
}


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

/* WARNING: Type propagation algorithm not settling */

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

{
  code cVar1;
  ushort uVar2;
  undefined *puVar3;
  undefined4 uVar4;
  int *piVar5;
  int iVar6;
  int iVar7;
  code *pcVar8;
  code *pcVar9;
  int *piVar10;
  undefined1 *puVar11;
  code *pcVar12;
  int iVar13;
  code *pcVar14;
  undefined4 uVar15;
  int iVar16;
  undefined4 uVar17;
  undefined1 auStack_80 [20];
  undefined1 auStack_6c [12];
  undefined *local_60;
  uint local_5c;
  code *local_58;
  int local_54;
  code *local_50;
  code *local_4c;
  code *local_48;
  undefined *local_44;
  int *local_40;
  undefined *local_3c;
  undefined *local_38;
  undefined1 *local_34;
  undefined1 *local_30;
  int local_2c;
  
  local_60 = PTR_mips_opcodes_000b5cd0;
  sb_new(auStack_6c);
  pcVar9 = (code *)param_1[1];
  local_54 = 0;
  local_5c = 0;
  local_4c = (code *)(PTR_LAB_000b6120 + -0x5960);
  local_58 = (code *)(PTR_LAB_000b6120 + -0x5814);
  local_48 = (code *)(PTR_LAB_000b6120 + -0x5a58);
  piVar5 = (int *)0x0;
  puVar11 = auStack_6c;
  iVar6 = 0;
  pcVar8 = (code *)0x0;
LAB_0003ab34:
  pcVar12 = pcVar8;
  if (pcVar9 <= pcVar8) {
LAB_0003abd4:
    sb_kill(puVar11);
    while (piVar5 != (int *)0x0) {
      piVar10 = (int *)*piVar5;
      uVar4 = sb_terminate(piVar5 + 1);
      hash_delete(param_4,uVar4,piVar10 == (int *)0x0);
      FUN_0003a5a8(piVar5);
      piVar5 = piVar10;
    }
    return iVar6;
  }
LAB_0003ab40:
  if (iVar6 != 0) goto LAB_0003abd4;
  iVar16 = *param_1;
  pcVar8 = pcVar12 + iVar16;
  iVar13 = (int)(char)*pcVar8;
  if (iVar13 == 0x26) {
    pcVar8 = pcVar12 + 1;
    sb_reset(puVar11);
    if (*(int *)(local_60 + -0xe10) == 0) {
      uVar17 = 0;
      uVar4 = 0x26;
LAB_0003ad4c:
      pcVar8 = (code *)(*local_58)(pcVar8,param_1,puVar11,param_4,uVar4,param_2,uVar17);
LAB_0003ad60:
      pcVar9 = (code *)param_1[1];
    }
    else {
      if (pcVar8 < (code *)param_1[1]) {
        iVar13 = *param_1;
        if (pcVar8[iVar13] == (code)0x26) {
          uVar17 = 1;
          uVar4 = 0x27;
          pcVar8 = pcVar12 + 2;
          goto LAB_0003ad4c;
        }
      }
      else {
        iVar13 = *param_1;
      }
      sb_add_char(param_2,(int)(char)pcVar12[iVar13]);
      pcVar9 = (code *)param_1[1];
    }
    goto LAB_0003ab34;
  }
  if (iVar13 == 0x5c) {
    pcVar8 = pcVar12 + 1;
    if (pcVar8 < pcVar9) {
      iVar13 = (int)(char)pcVar8[iVar16];
      if (iVar13 == 0x28) {
        pcVar8 = pcVar12 + 2;
        if (pcVar9 <= pcVar8) goto LAB_0003b084;
        cVar1 = pcVar8[iVar16];
        goto joined_r0x0003b040;
      }
      if (iVar13 == 0x40) {
        pcVar8 = pcVar12 + 2;
        (*(code *)PTR_sprintf_000b65a0)
                  (auStack_80,PTR_s_operand_000b5e4c + -0x6960,
                   *(undefined4 *)(PTR_mips_opcodes_000b5cd0 + -0xe1c));
        sb_add_string(param_2,auStack_80);
        pcVar9 = (code *)param_1[1];
        goto LAB_0003ab34;
      }
      if (iVar13 == 0x26) {
        pcVar8 = pcVar12 + 2;
        sb_add_char(param_2,0x5c);
        sb_add_char(param_2,0x26);
        pcVar9 = (code *)param_1[1];
        goto LAB_0003ab34;
      }
      if (*(int *)(local_60 + -0xe10) != 0) {
        uVar2 = *(ushort *)(PTR__sch_istable_000b6714 + (uint)(byte)pcVar8[iVar16] * 2);
        if ((uVar2 & 0x8c) != 0) {
          if ((uVar2 & 4) == 0) {
            if ((uVar2 & 0x80) == 0) {
              iVar13 = iVar13 + -0x57;
            }
            else {
              iVar13 = iVar13 + -0x37;
            }
          }
          else {
            iVar13 = iVar13 + -0x30;
          }
          pcVar8 = pcVar12 + 2;
          if (param_3 == (int *)0x0) goto LAB_0003afec;
          piVar10 = param_3;
          if (param_3[10] != iVar13 + -1) goto LAB_0003afe0;
          iVar13 = param_3[8];
          goto LAB_0003b130;
        }
      }
    }
    sb_reset(puVar11);
    uVar17 = 0;
    uVar4 = 0x27;
    goto LAB_0003ad4c;
  }
  if (*(int *)(local_60 + -0xe10) == 0 && *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe0c) == 0) {
    if (iVar13 != 0x22) {
LAB_0003ab8c:
      if (iVar13 == 0x40) {
        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
joined_r0x0003b104:
        if (iVar7 != 0) goto LAB_0003aed0;
      }
      else {
LAB_0003ab98:
        if (iVar13 == 10) {
          local_54 = local_54 + 1;
        }
      }
LAB_0003abb0:
      pcVar12 = pcVar12 + 1;
      sb_add_char(param_2,iVar13);
      pcVar9 = (code *)param_1[1];
      if (pcVar9 <= pcVar12) goto LAB_0003abd4;
      goto LAB_0003ab40;
    }
  }
  else {
    if (((PTR_lex_type_000b5e9c[(byte)*pcVar8] & 2) != 0) &&
       (((local_5c == 0 || (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0)) ||
        ((pcVar12 != (code *)0x0 && (pcVar8[-1] == (code)0x40)))))) {
      if ((((param_5 == 0) || (pcVar14 = pcVar12 + 5, pcVar9 <= pcVar14)) ||
          (iVar13 = (*(code *)PTR_strncasecmp_000b6618)(pcVar8,PTR_LAB_000b5cb8 + 0x6d3c,5),
          iVar13 != 0)) || ((pcVar14[iVar16] != (code)0x20 && (pcVar14[iVar16] != (code)0x9)))) {
        sb_reset(puVar11);
        uVar4 = 0x27;
        if ((*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) != 0) && (uVar4 = 0x40, local_5c == 0)) {
LAB_0003ae48:
          uVar4 = 0x27;
        }
LAB_0003ae50:
        uVar17 = 1;
        pcVar8 = pcVar12;
        goto LAB_0003ad4c;
      }
      if (local_5c != 0) {
        sb_reset(puVar11);
        if (*(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14) == 0) goto LAB_0003ae48;
        uVar4 = 0x40;
        goto LAB_0003ae50;
      }
      pcVar8 = (code *)sb_skip_white(pcVar14,param_1);
      if (pcVar8[*param_1] == (code)0xa) goto LAB_0003ad60;
      local_3c = PTR_mips_opcodes_000b5cd0;
      local_34 = auStack_80;
      local_50 = (code *)(PTR_LAB_000b6120 + -0x5ad0);
      local_44 = PTR_LAB_000b5cb8 + 0x6d4c;
      local_38 = PTR_LAB_000b5cb8 + 0x6d44;
      local_40 = piVar5;
      local_30 = puVar11;
      local_2c = iVar6;
      goto LAB_0003b314;
    }
    if (iVar13 != 0x22) {
      if (*(int *)(local_60 + -0xe10) == 0) goto LAB_0003ab8c;
      if (iVar13 == 0x27) goto LAB_0003ae70;
      if (iVar13 == 0x40) {
        iVar7 = *(int *)(PTR_mips_opcodes_000b5cd0 + -0xe14);
        goto joined_r0x0003b104;
      }
      if (iVar13 != 0x3d) goto LAB_0003ab98;
      if ((pcVar9 <= pcVar12 + 1) || ((pcVar12 + 1)[iVar16] != (code)0x3d)) goto LAB_0003abb0;
      sb_reset(puVar11);
      pcVar8 = (code *)(*local_4c)(pcVar12 + 2,param_1,param_1 + 1,puVar11);
      uVar4 = sb_terminate(puVar11);
      iVar13 = hash_find(param_4,uVar4);
      if (iVar13 == 0) {
        sb_add_char(param_2,0x3d);
        sb_add_char(param_2,0x3d);
        sb_add_sb(param_2,puVar11);
        pcVar9 = (code *)param_1[1];
        iVar6 = 0;
      }
      else if (*(int *)(iVar13 + 0x20) == 0) {
        sb_add_char(param_2,0x30);
        pcVar9 = (code *)param_1[1];
      }
      else {
        sb_add_string(param_2,PTR_LAB_000b5cb8 + 0x6d88);
        pcVar9 = (code *)param_1[1];
      }
      goto LAB_0003ab34;
    }
  }
LAB_0003ae70:
  local_50 = pcVar12 + 1;
  local_5c = local_5c ^ 1;
  sb_add_char(param_2,iVar13);
  pcVar9 = (code *)param_1[1];
  pcVar8 = local_50;
  goto LAB_0003ab34;
joined_r0x0003b040:
  if (cVar1 == (code)0x29) goto LAB_0003b114;
  pcVar8 = pcVar8 + 1;
  sb_add_char(param_2);
  pcVar9 = (code *)param_1[1];
  if (pcVar9 <= pcVar8) goto LAB_0003b084;
  cVar1 = pcVar8[*param_1];
  goto joined_r0x0003b040;
LAB_0003b084:
  if (param_5 == 0) {
    iVar6 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    pcVar9 = (code *)param_1[1];
  }
  else {
    uVar17 = *(undefined4 *)(param_5 + 0x1c);
    iVar13 = local_54 + *(int *)(param_5 + 0x20);
    uVar4 = (*(code *)PTR_dcgettext_000b6750)(0,PTR_LAB_000b5cb8 + 0x6d30,5);
    as_bad_where(uVar17,iVar13,uVar4);
    pcVar9 = (code *)param_1[1];
  }
  goto LAB_0003ab34;
LAB_0003b114:
  pcVar8 = pcVar8 + 1;
  goto LAB_0003ab34;
  while (piVar10[10] != iVar13 + -1) {
LAB_0003afe0:
    piVar10 = (int *)*piVar10;
    if (piVar10 == (int *)0x0) goto LAB_0003afec;
  }
  iVar13 = piVar10[8];
LAB_0003b130:
  if (iVar13 == 0) {
    sb_add_sb(param_2,piVar10 + 4);
    pcVar9 = (code *)param_1[1];
  }
  else {
    sb_add_sb(param_2,piVar10 + 7);
    pcVar9 = (code *)param_1[1];
  }
  goto LAB_0003ab34;
LAB_0003afec:
  iVar6 = 0;
  goto LAB_0003ab34;
LAB_0003b314:
  do {
    piVar5 = (int *)(*local_50)();
    pcVar8 = (code *)(*local_4c)(pcVar8,param_1,param_1 + 1,piVar5 + 1);
    uVar4 = sb_terminate(piVar5 + 1);
    iVar6 = hash_find(param_4,uVar4);
    puVar11 = local_34;
    puVar3 = PTR_sprintf_000b65a0;
    if (iVar6 == 0) {
      iVar6 = *(int *)(local_3c + -0xe20);
      *piVar5 = (int)local_40;
      piVar5[10] = -3;
      *(int *)(local_3c + -0xe20) = iVar6 + 1;
      (*(code *)puVar3)(local_34,local_38,iVar6 + 1);
      sb_add_string(piVar5 + 7,puVar11);
      iVar6 = hash_jam(param_4,uVar4,piVar5);
      local_40 = piVar5;
      if (iVar6 != 0) {
        pcVar9 = (code *)param_1[1];
        puVar11 = local_30;
        goto LAB_0003ab34;
      }
    }
    else {
      uVar15 = *(undefined4 *)(param_5 + 0x1c);
      iVar6 = local_54 + *(int *)(param_5 + 0x20);
      uVar17 = (*(code *)PTR_dcgettext_000b6750)(0,local_44,5);
      as_bad_where(uVar15,iVar6,uVar17,uVar4);
      (*local_48)(piVar5);
    }
    pcVar8 = (code *)sb_skip_comma(pcVar8,param_1);
  } while (pcVar8[*param_1] != (code)0xa);
  pcVar9 = (code *)param_1[1];
  piVar5 = local_40;
  puVar11 = local_30;
  iVar6 = local_2c;
  goto LAB_0003ab34;
LAB_0003aed0:
  pcVar8 = pcVar12 + 1;
  if ((pcVar8 < pcVar9) && (pcVar8[iVar16] == (code)0x40)) {
    sb_add_char(param_2,0x40);
    pcVar9 = (code *)param_1[1];
    pcVar8 = pcVar12 + 2;
  }
  goto LAB_0003ab34;
}

